关键字:typedef 函数部类 区别
关键字:typedef 函数类型 区别typedef void (*FuncTypePtr)(int)typedef void FuncType(int)FuncTypePtr
关键字:typedef 函数类型 区别
typedef void (*FuncTypePtr)(int);
typedef void FuncType(int);
FuncTypePtr func1;
FuncType *func2;
关于自定义函数类型的这两种typedef,各有什么优缺点?
[解决办法]
没有优缺点。。。
效果都是一样的。
[解决办法]
[解决办法]typedef 使你的代码更容易被其他程序员看懂
[解决办法]两者的抽象层次不同。
第一种比第二种具有更高的抽象层次。第一种的使用者不需要知道该物件的实现,但第二种的使用者必须时刻留意定义为一个指针,所以,第一种比第二种具有更好的松散耦合度,一般而言(非绝对),第一种比第二种更好,特别是对于ADT。
[解决办法]第二种,很奇怪的语法,很容易造成误解,而且不太符合规范
[解决办法]楼上。。请不要乱说啊。。误导新人,怎么就不符合规范了。。都符合规范的好吧。
typedef int FunctionPrototype();
FunctionPrototype f, g;
int f() {
return 1;
}
int g() {
return 2;
}
-----------
关于楼主的问题,一般可以这样用
typedef void FuncType(int);
typedef Functype * FuncTypePtr;
然后你想怎么用就怎么用。
我个人不太喜欢Ptr的typedef。原因很简单,
IntPtr a;
IntPtr b;
我总觉得怪怪的,我喜欢
int *a;
int *b;
更直白一点。