C++中的##、#符号含义

在C++中,### 是两个不同的预处理符号。这些符号都是在C++的预处理阶段使用的,用于在代码编译之前对文本进行操作。

#(字符串化操作符): 用于将宏参数转换为字符串常量

#define STRINGIZE(x) #x
const char* str = STRINGIZE(Hello); // str 的值为 "Hello"

##(连接操作符):用于将两个宏参数连接在一起,仅仅是连接在一起,它并不知道宏参数会传入什么,以及连接在一起后是什么,同理于宏替换,仅仅是简单粗暴的替换。

#define CON(x, y) x##y
int xy = CON(3, 4); // 定义了一个名为 "xy" 的整数变量,其值为 34

你可能感兴趣的:(C++,c++,开发语言)