c++中常量和变量的concat名称

C++ concat name of constant and variable

本文关键字:concat 名称 变量 常量 c++      更新时间:2023-10-16

代码如下:

#define TEXT_EN "English"
#define TEXT_PL "Polish"

我有变量决定文本语言(char *lang = "_PL"或lang = "_EN"),所以我想在宏DISPLAY_TEXT(text)中显示正确的文本。

是否可以将常量的名称与上面的变量名称连接起来以获得正确的常量?例如:

DISPLAY_TEXT(TEXT ## lang)

不,它不是。

要么你有两个字符串在编译时可用,然后你可以使用##连接它们,或者你有一个或多个字符串只在运行时可用,然后你必须使用strcpy/strcat,例如