#include<iostream> using namespace std; int main() { string s1="abcd",s2; s2=s1+s1.erase(s1.size()-1,1); cout<<s2; }
请问为什么输出的是abcabc,而不是abcdabc,谢谢!
因为 s1.erase 的时候 s1 已经被修改,所以后面相加, s1是改变后的值
erase() 方法会修改原始字符串,并返回修改后的字符串