2022-01-30 C++宏定义中 #/##的作用

有以下代码段:

#define Conn(x,y) x##y
#define ToChar(x) #@x
#define ToString(x) #x
#define CONS(a,b) int(a##e##b)

1.x##y

表示文本连接的意思
如 int n = Conn(123,456)
则结果为 n = 123456

2.#@x

表示给x加上单引号
如 char a = ToChar(1)
char b =ToChar(123)
char c = ToChar(12345)
则结果为 a = '1'
b = '3'
c //报错,#@x类的宏定义中x最多之能是4个字符,超过4个会报错

3.#x

表示给x加上双引号
如char *str = ToString(123456)
则结果为str = "123456"

4.a##e##b

表示a乘10的b次方
如 int c = CONS(2,3)
则结果为2e3 = 2000

原博客链接:https://blog.csdn.net/weixin_44591035/article/details/102872621

你可能感兴趣的:(2022-01-30 C++宏定义中 #/##的作用)