在测试字符串和字符连接,发现了一个小细节:
当字符串和字符连接时,用+符号进行连接,会按照顺序依次连接,达到预期的结果。
当字符串和字符连接时,如果是用的+=符号进行连接,后面跟上多个字符将会先计算他们的ASCII码和再与字符串进行连接。
具体情况可以参看下面的示例进行体会:
#include<string>
#include<iostream>
using namespace std;
int main(){
string s2="0a22aa";
s2=s2+'0'+s2;
cout<<s2<<endl; //0a22aa00a22aa
s2+='0'+'1'; //这里0的ASCII码48,1的ASCII码是49,两个之和对应的是97,也就是a的ASCII码
cout<<s2<<endl; //0a22aa00a22aaa
s2+='0';
cout<<s2<<endl; //0a22aa00a22aaa0
s2=s2+'0'+'5';
cout<<s2<<endl; //0a22aa00a22aaa005
return 0;
}