vc的问题..
来源:百度知道 编辑:UC知道 时间:2024/05/31 09:04:16
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
是什么意思??
是什么意思??
就是当你用DECLARE_HANDLE来定义一个变量的时候,相当于定义一个struct name##__的类型指针
比如
DECLARE_HANDLE(mmtype);
mmtype bb;
...
bb->unused = 0;
等于
struct name##__ {
int unused;
};
typedef struct name##__ *mmtype;
mmtype bb;
...
bb->unused=0;
这样bb就是struct name##__类型的一个指针
直接bb->unused = 0;是非法的,因为bb没有初始化,同时在name##__里#是非法字符,所以这只是个interface