【发布时间】:2021-05-06 07:15:39
【问题描述】:
我正在尝试从允许使用“+”运算符连接字符串的另一种语言迁移代码。
//defintion
void print(std::string s) {
std::cout << s;
}
//call
print("Foo " + "Bar");
我遇到的问题是 c++ 将“Foo”和“Bar”视为 const char* 并且无法添加它们,有没有办法解决这个问题。我已经尝试包含字符串库以查看它是否会自动更改它们,但这似乎不起作用。
【问题讨论】:
-
这能回答你的问题吗? How to concatenate two strings in C++?
-
不是答案,但在函数之间传递字符串为
const std::string& s,而不是std::string s。避免复制并启用优化。