一、#,##的用法
1、“#”的作用是将其后面的宏参数进行字符画操作,简单的说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。
1 1 #define FUN(a) #a 2 2 FUN(abc); //等价于“abc”
2、“##”就是一个连字符,用来将两个Token连接为一个Token。这里的链接对象是Token就行,而不一定是宏变量。
1 #define FUN(a,b) a##n##b 2 FUN(i,t) a; //等价于int a;
3、“L##”不同于“##”,它是在宏参数前面加上L。
1 #define FUN(a) L##a 2 FUN(str);//等价于Lstr
原文链接: https://www.cnblogs.com/dirt2/archive/2012/10/17/little_knowledge.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/66089
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!