有什么方法可以告诉C++11使用std::string而不是constchar*吗?
我试图从另一种语言迁移代码,该语言允许使用“+”运算符连接字符串。
//defintion
void print(std::string s) {
std::cout << s;
}
//call
print("Foo " + "Bar");
我遇到的问题是 c++ 将“Foo”和“Bar”视为 const char* 并且无法添加它们,有什么办法可以解决这个问题。我试过包含字符串库以查看它是否会自动更改它们,但这似乎不起作用。
回答
对于 2 个字符串文字的情况,最简单的解决方案:
print("Foo " "Bar");
除此以外:
print(std::string("Foo ") + "Bar");
THE END
二维码