八、井号运算符
其实,C语言允许在字符串中包含宏参数。在类函数宏(带参宏)中,#号
作为一个预处理运算符
,可以把记号转换成字符串。例如,如果 A 是一个宏形参,那么 #A
就是转换为字符串 "A" 的形参名。这个过程称为字符串化(stringizing)。如下为示例程序:
#include <iostream>
#define ADD(a, b) ptintf(#a " + " #b " = %d.\n", ((a)+(b)));
int main(int argc, char** argv){
ADD(5, 100);
ADD(12, 20);
return 0;
}
上述程序的输出为:
5 + 100 = 105
12 + 20 = 32
与#运算符类似,##运算符
可用于类函数宏(带参宏)的替换部分。##运算符
可以把两个记号组合成一个记号。例如,可以这样做:
#define XNAME(n) x##n
然后,宏XNAME(4)将展开为x4。
标签:记号,##,井号,运算符,ADD,字符串 From: https://www.cnblogs.com/XiongHaiyang/p/18029788