我知道这是一个常见问题,但在寻找参考资料和其他材料时,我没有找到这个问题的明确答案。
考虑以下代码:
#include <string>
// ...
// in a method
std::string a = "Hello ";
std::string b = "World";
std::string c = a + b;
编译器告诉我它找不到重载运算符char[dim]
.
这是否意味着字符串中没有 + 运算符?
但在几个例子中都存在这样的情况。如果这不是连接更多字符串的正确方法,那么最好的方法是什么?
您编写的代码可以正常工作。您可能正在尝试实现一些不相关但相似的目标:
std::string c = "hello" + "world";
这不起作用,因为对于 C++ 来说,这似乎是你试图添加两个char
指针。相反,你need转换至少其中之一char*
文字到 astd::string
。要么你可以做你已经在问题中发布的事情(正如我所说,这段代码will工作)或者您执行以下操作:
std::string c = std::string("hello") + "world";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)