1. 带参宏举例:
#define MAX(a, b) ((a) > (b) ? (a) : (b))
2. 注意,#是字符串化的意思,把跟在后面的参数转换成一个字符串:
#define FUN(a) "a"
FUN(345)将被替换成"a",因为""双引号中的字符不被当做形参。
3. 带参宏定义中#的用法:
#define STR(str) #str
这里的#用于把宏定义中的参数两端加上字符串的"",举例:
STR(my#name)将被替换成:"my#name"
4. 带参宏定义中##的用法:
#define WIDE(str) L##str
比如:WIDE("abc")就会被替换成L"abc"
#define FUN(a, b) vo##a##b()
比如:FUN(id ma, in)将会被替换成void main()
浙公网安备 33010602011771号