宏定义中的#运算符可以把#后面的宏参数进行完整的字符串替换;
#define printcube(x) cout<<(x)*(x)*(x)<<endl;
printcube(5);
输出:125;
宏定义中的##运算符将前后的参数进行字符串连接;
#define link(x,y,z) x##y##z
link("C","+","+");
输出:C++。
宏定义中的#运算符可以把#后面的宏参数进行完整的字符串替换;
#define printcube(x) cout<<(x)*(x)*(x)<<endl;
printcube(5);
输出:125;
宏定义中的##运算符将前后的参数进行字符串连接;
#define link(x,y,z) x##y##z
link("C","+","+");
输出:C++。