gpt4 book ai didi

c++ - 在 C++ 中将 DEFINE 与文字字符串混合

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:27:09 25 4
gpt4 key购买 nike

我创建了一个指向特定目录的#define。然后我想将此定义与字符串文字结合使用:

#define PATH_RESOURCES "/path/to/resources/"
std::ifstream datafile(PATH_RESOURCES + "textures.dat");

但是,编译器提示使用 + 运算符添加 char 类型:

error: invalid operands of types ‘const char [11]’ and ‘const char [13]’ to binary ‘operator+’


那么如何将#define 与字符串文字结合起来呢?或者,是否有更好的方法来完全做到这一点?我想使用 const 变量是一种替代方法,但这意味着必须传递另一个参数,我宁愿将其保留为全局定义。

最佳答案

您可以通过一个接一个地编写两个字符串文字来组合它们,并且它们之间没有 + 加号:

std::ifstream datafile(PATH_RESOURCES "textures.dat");

其中一个字符串文字恰好是通过预处理器定义的这一事实并没有太大改变:您也可以这样做:

std::ifstream datafile(PATH_"/path/to/resources/" "textures.dat");

这是一个demo on ideone .

关于c++ - 在 C++ 中将 DEFINE 与文字字符串混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16069083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com