1、单#的作用是把参数变成字符串;
2、##的作用是连接组合参数名字;
废话不多说,看个简洁的例子就明白了
2、##的作用是连接组合参数名字;
废话不多说,看个简洁的例子就明白了
#include <iostream.h> using namespace std; #define TEST0(arg) cout << arg << endl #define TEST1(arg) cout << #arg << endl #define TEST2(arg) cout << i##arg << endl #define TEST3(arg) cout << arg##t << endl #define TEST4(arg) cout << i##arg##t << endl int main() { int iTest = 10; TEST0(iTest); TEST1(iTest); TEST2(Test); TEST3(iTes); TEST4(Tes); return 0; }
打印结果
10 iTest 10 10 10
总结:
#arg 展开成 “arg”
i##arg 展开成 iarg
arg##t 展开成 argt
i##arg##t 展开成 iargt
【参考链接】
原文链接: https://www.cnblogs.com/opensmarty/p/17039779.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/310974
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!