gpt4 book ai didi

c++ - 有没有办法告诉 C++11 使用 std::string 而不是 const char*?

转载 作者:行者123 更新时间:2023-12-05 08:36:51 27 4
gpt4 key购买 nike

我正在尝试从另一种允许使用“+”运算符连接字符串的语言迁移代码。

//defintion 
void print(std::string s) {
std::cout << s;
}
//call
print("Foo " + "Bar");

我遇到的问题是 c++ 将“Foo”和“Bar”视为 const char* 并且无法添加它们,有什么方法可以解决这个问题。我已经尝试包括字符串库以查看它是否会自动更改它们,但这似乎没有用。

最佳答案

及以后:

using namespace std::literals;
print("Foo "s + "Bar");

:

std::string operator "" _s(const char* str, std::size_t len) {
return std::string(str, len);
}

print("Foo "_s + "Bar");

或者,在所有版本中:

print(std::string("Foo ") + "Bar");

关于c++ - 有没有办法告诉 C++11 使用 std::string 而不是 const char*?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67409492/

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