不用typedef 来定义结构体有什么好处?
一个比我长一岁的程序员跟我讲不用typedef来定义struct好,但具体又不告诉我。于是个人想了以下两个:
a.struct + 名称可以用来声明,比如封装的时候可以放在头文件里
b.VS2005的类视图会找到struct后面的名字作为类视图的标记
请教下各位,不用typedef来定义结构体别名,而用struct A每次都要多写了一个struct有好处吗?如果有好处的话,是什么好处呢?
[解决办法]
因为linux内核中,很少用typedef去对struct进行重命名。
为什么呢?在我看来,是两个原因
1. typedef本身是用来定义类型别名的,而不是为了简化struct的使用的;
2. 不是用typedef,虽然每次要多打一个struct,但是代码非常明确;
[解决办法]
当需要抽象的时候,用typedef比较好,即关注一个抽象的类型,而不是在意这个类型是基于struct或者什么来的。
[解决办法]
匈牙利命名好还是单纯的骆驼式命名好?每次都要说类型,吃饱撑着。
[解决办法]
struct stat{/*....*/};
int stat(char* name, strcut stat *buf);