C++中的string重载了+,+=,但是在进行连加的时候有一个限制,就是连加的时候前两项中必须有一项是string类型。
例如:
string a="a"+"b";//编译不通过,因为两项都是const char*,而const char*并没有重载+.
string b="b";string a="a"+b;//编译通过,因为b为string,系统遇到+,会把const char*转换为临时的string.
C++中的string重载了+,+=,但是在进行连加的时候有一个限制,就是连加的时候前两项中必须有一项是string类型。
例如:
string a="a"+"b";//编译不通过,因为两项都是const char*,而const char*并没有重载+.
string b="b";string a="a"+b;//编译通过,因为b为string,系统遇到+,会把const char*转换为临时的string.