我尝试了两种不同的方式来附加int
一个std::string
,令我惊讶的是,我得到了不同的结果:
#include <string>
int main()
{
std::string s;
s += 2; // compiles correctly
s = s + 2; // compiler error
return 0;
}
Run Code Online (Sandbox Code Playgroud)
为什么我在使用+=
运算符时编译并正常工作,但在使用+
运算符时失败?
我不认为问题是如何连接std :: string和int?
在那个问题中,没有答案使用+=
operator.And +=
和+
operator 之间的区别std::string
是解决我怀疑的关键.
坦率地说,这个问题是解释为什么c ++难以掌握的好例子.