c++中常量和变量的concat名称
C++ concat name of constant and variable
代码如下:
#define TEXT_EN "English"
#define TEXT_PL "Polish"
我有变量决定文本语言(char *lang = "_PL"或lang = "_EN"),所以我想在宏DISPLAY_TEXT(text)中显示正确的文本。
是否可以将常量的名称与上面的变量名称连接起来以获得正确的常量?例如:
DISPLAY_TEXT(TEXT ## lang)
不,它不是。
要么你有两个字符串在编译时可用,然后你可以使用##
连接它们,或者你有一个或多个字符串只在运行时可用,然后你必须使用strcpy
/strcat
,例如
相关文章:
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 预处理器:插入结构名称中的前一个行号
- 基类中的函数名称解析
- 模板元程序查找相似的连续类型名称
- 没有名称的C++模板参数
- C++中名称篡改的目的是什么
- 如何仅使用对象名称打印特定于对象的成员
- 将依赖名称显式标记为类型名和模板的奇怪之处
- 为什么 Clang 不允许"and"作为函数名称?
- 遮罩结构名称
- c++binary_search函数排序数组(流行名称搜索)出现问题
- RegGetValue在当前用户下找不到名称
- 如何打开并写入一个名称取自C++中字符串的文件
- 在没有参数列表的情况下使用模板名称"Event"无效,模板问题
- 公开最直接的基类模板名称
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- 为什么用结构初始化数组需要指定结构名称
- 使用单词"not"作为C ++类的名称会导致VS2019错误
- c++中常量和变量的concat名称