我尝试了两种不同的方式来附加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 ++难以掌握的好例子.