1.
push_back参数只能是字符类型,不能是字符串类型。append参数不能是字符类型,不能是字符类型。虽然字面值字符和字面值字符串类型不是string类型数据,但是该函数参数可以进行强制转换。
2.
string s1;
s1.append("12");
s1.push_back('1');
//
以下是错误形参:
string s1;
//s1.append('2');
//s1.push_back("1");
3.通俗点说,push_back添加的元素必须要和容器中元素的数据类型一致,string容器中元素的数据类型为字符型,而append是string特有的成员函数,其既有添加单个字符的重载形式,也有添加整个字符串字面值的重载形式,当然这个字符串字面值会被强制转换成string类的对象类型。