如何从 C++ 中的宏组成变量名?
How to compose a variable name from a macro in C++?
C++中如何从宏中组合变量名?
例如:
#define PREFIX p_
#define VAR_NAME #PREFIX#name
因此,VAR_NAME
必须公开为 p_name
。可能吗?
你必须跳过预处理器的一些环节才能做到这一点:
#define CONCAT_(a, b) a##b
#define CONCAT(a, b) CONCAT_(a, b)
#define PREFIX p_
#define VAR_NAME CONCAT(PREFIX, name)
int VAR_NAME;
CONCAT_
合并文本
CONCAT
在组合宏之前计算它们
C++中如何从宏中组合变量名? 例如:
#define PREFIX p_
#define VAR_NAME #PREFIX#name
因此,VAR_NAME
必须公开为 p_name
。可能吗?
你必须跳过预处理器的一些环节才能做到这一点:
#define CONCAT_(a, b) a##b
#define CONCAT(a, b) CONCAT_(a, b)
#define PREFIX p_
#define VAR_NAME CONCAT(PREFIX, name)
int VAR_NAME;
CONCAT_
合并文本
CONCAT
在组合宏之前计算它们