gpt4 book ai didi

c++ - += 与 C++ 中的字符串

转载 作者:太空宇宙 更新时间:2023-11-04 14:35:04 25 4
gpt4 key购买 nike

我在 C++ 中玩弄字符串,但我不明白为什么以下内容在编译时会导致错误:

string s = "hi";
s += " " + "there!";

错误信息:

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

我也试过 s+= (""+ "there!"); 但它也不起作用。

为什么我不能使用二元运算符 += 以这种方式连接字符串?

最佳答案

问题是您正在尝试“添加”两个文字字符串。文字字符串不是 C++ 中的 std::string 类型,它们就像不可变的字符数组。将两个加在一起没有意义,因为这就像将两个指针加在一起。

但是,您可以这样做:

std::string("foo") + "bar"

这是因为 C++ 中定义了一些方法来连接 C++ 字符串和 C 字符串。

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

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