社区
C++ 语言
帖子详情
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
symbol_bc
2008-04-14 09:59:00
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
...全文
159
13
打赏
收藏
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
icosagon
2008-04-16
打赏
举报
回复
主要用来定义指针类型的变量的
MagiSu
2008-04-16
打赏
举报
回复
typedef struct A {} B;
A是一个tag,如果是C的话就必须按照struct A使用。C++则不必。
B是一个type,也就是直接的一个类型。
liveforme
2008-04-16
打赏
举报
回复
学习学习
ytfrdfiw
2008-04-16
打赏
举报
回复
在C++里面,不用typedef struct MyStruc{} OtherStruct;
加上这个typedef是个多余,这是C的写法。
WuBill
2008-04-16
打赏
举报
回复
所以在C++的结构这点上,基本不存在取别名,直接把你所希望的别名作为结构名就行了
WuBill
2008-04-16
打赏
举报
回复
在定义结构这点上,主要是为了和C一致
C中:
struct Test{
int a;
};
这时,如果要定义Test对象,就必须是:struct Test t;
如果写成
typedef struct tagTest{
int a;
}Test;
就可以是直接写 Test t;
在C++中,实际上struct几乎可以说是多余的,只是为了和C一致才留了下来
C++,struct和class除了默认访问属性不同外,其他完全一样
在C++中:
struct Test{
int a;
};
就可以直接写Test t;
在C++中class 和struct实际就是名字游戏,留下struct只为了让C程序员更易接受
不想低调
2008-04-14
打赏
举报
回复
lz说的没错 就是给结构取个别名
薛定谔之死猫
2008-04-14
打赏
举报
回复
typedef用来生成alias,像宏一样,可以简化输入
ppzzhhsky
2008-04-14
打赏
举报
回复
只是一种习惯
便于阅读程序的人方便
Treazy
2008-04-14
打赏
举报
回复
[Quote=引用楼主 symbol_bc 的帖子:]
自定义结构时,用typedef和不使用有什么区别?我觉得不用好像也行
[/Quote]
方便:可以自定义类型名
能简化复杂类型
实用
OenAuth.Core
2008-04-14
打赏
举报
回复
这个作用是很强大的,功能简单点说就是给结构体和类起一个别名,比如定义一个结构体或类时:
struct test{
int a;
};
那么你要使用时就必须用下面的格式:
struct test a;
如果你用下面这样定义:
typedef struct test{
int a;
} test;
就可以这样使用 :
test a;
不过现在新版的c++不用TYPEDEF也可以直接用类类名来实现类,不过作为养成良好的编程习惯来说,建议还是加上typedef比较好
langhua0001
2008-04-14
打赏
举报
回复
就是为了方便才用的
wuyu637
2008-04-14
打赏
举报
回复
的确是没有什么区别。不过就是如果你使用了typedef的话,会方便一点。。
struct A{};
struct A a;
==============================
typedef struct B{};
B b;
相关推荐
结构
体前面加不加
typedef
有什么
区别
?
结构
体前面加不加
typedef
有什么
区别
?
为什么c程序中定义
结构
时
经常要用到
typedef
呢?如:
typedef
struct _am_win_menutext {
int idc
int message
} am_win_menutext
为什么不直接把
结构
名定义为am_win_menutext然后
使用
就可以了。
取个类型的别名有什么作用呢?
c/c++
结构
体前加不加
typedef
有什么
区别
?
结构
体前面加不加
typedef
有什么
区别
? 为什么c程序中定义
结构
时
经常要用到
typedef
呢?如:
typedef
struct _am_win_menutext { int idc int message } am_win_menutext 为什么不直接把
结构
名定义为am_win_menutext然后
使用
就可以了。 取个类型的别名有什么作用呢? --------------------------------- 那是因为不取别名的话,每次定义都要加struct ---
如何用
typedef
定义一对相互引用的
结构
?
有问题的版本 希望在AP
结构
体中,引用BP,但是编译器会报错: 因为在编译器第一次遇到BP
时
,BP还未定义。 解决办法 第一步我们不
使用
typedef
,直接
使用
struct来定义
结构
a和
结构
b: 这样的结果在编译
时
是可以通过的: 相当于a, b 在这里都是空声明; 第二步在用
typedef
去定义两个类型: OK,可以编译通过。 这样就解决了用
typedef
互相引用冲突的问题了。 总结 ...
Terracotta Express Model 和 Terracotta Customized Model
在网上看到很多关于Terracotta快速安装和
自定义
安装的文章,我
觉得
我始终无法明白到底两者有什么
区别
,今天突然仔细地想想,又
好像
明白了。 关于Terracotta Express Model 假如现在我的应用程序现在只是用到了TC的一个Feature,比如Shared object,比如Ehcache.仅仅只是
使用
Shared object的
时
候,那么我们只要在tc-config.xml里...
C语言中
结构
体用到的
typedef
1.
typedef
常规用法 C语言中
使用
typedef
关键字来定义自己习惯的数据类型名称。 例如
自定义
一个BOOL类型
typedef
int BOOL; #define True 1 //
使用
自定义
的BOOL类型 BOOL flag = True; 2.
结构
体
使用
typedef
结构
体中
使用
typedef
C语言中一般的
结构
体 struct lept_value { double n; }; //调用此
结构
体
时
struct lept
C++ 语言
63,596
社区成员
250,393
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下