如何连接标题中的字符串?

bog*_*gus 1 c++ header

我想在专用头文件中定义一堆常量.

由于一些前缀经常出现,我想定义它们一次,然后在需要时添加它们.

我的问题是:

如何在没有空格的情况下将前缀与另一个字符串连接起来?

例:

#define PREFIX "pre_"
#define KEYWORD "keyword"
#define BOTH PREFIX+KEYWORD
Run Code Online (Sandbox Code Playgroud)

两个所需的结果:pre_keyword

显然是+ in

BOTH PREFIX+KEYWORD
Run Code Online (Sandbox Code Playgroud)

不管用.那么这些令牌如何连接起来呢?

Luc*_*ore 6

只是

#define BOTH PREFIX KEYWORD
Run Code Online (Sandbox Code Playgroud)

会做的.

相邻的文字是自动连接的,所以

"pre_" "keyword" 
Run Code Online (Sandbox Code Playgroud)

会成为

"pre_keyword"
Run Code Online (Sandbox Code Playgroud)

  • 实际上,在这种情况下,宏可能是最好的解决方案.它们是唯一允许编译时间连接的解决方案.您不需要(或想要)任何变量.(并且`std :: string`根本不起作用.) (2认同)