一、宏中"#"和"##"的用法
#把宏参数变为一个字符串
例:
#define strt(a) eee#a strt(sss) |
eee "sss" |
##把两个宏参数贴合在一起
例:
#define contact(a,b) a##e##b contact(hello, world) |
helloeworld |
二、如果宏有多行可以用续行符"\"连接
续行符"\"不可以再有其它字符,空格也不可以
例:
#define defab(classname) \ class classname; |
PS:续行符在行注释"//"后也起作用
三、不定参数宏
#define debug(…) \ printf(__VA_ARGS__) |