I tried two different ways to append an int to a std::string, and to my surprise, I got different results:
#include <string>
int main()
{
std::string s;
s += 2; // compiles correctly
s = s + 2; // compiler error
return 0;
}
Why does it compile and work correctly when I use the += operator, but fail when I use the + operator?
I don't think the question is like How to concatenate a std::string and an int?
In that question,no answer uses += operator.And the difference between +=
and + operator of std::string is the key to solve my doubt.
Frankly,the question is a good example for explaining why c++ is so difficult to master.