读书人

#的意义,麻烦哪位高手来跟小弟我解释一

发布时间: 2012-03-16 16:34:56 作者: rapoo

#的意义,麻烦谁来跟我解释一下下面的代码
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name


谢谢了
主要是看不明白里面##的意思,不知道谁能够解释一下

[解决办法]
name##__
这是一个整体别分开看
就像
struct ss{int unused; };
typedef struct ss *s;
[解决办法]
DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name

DECLARE_HANDLE(MyName)
预编译后翻译为
struct MyName__{int unused;}
typedef struct MyName__ *MyName;

明白了不?
[解决办法]
预编译
也叫预处理
就是实际编译之前将宏扩展为实际代码
[解决办法]
为啥与变异以后##就没有了

这个市编译器的某种功能么


恩 ,必须 要 有这个功能才方便。。,

读书人网 >VC/MFC

热点推荐