1. 程式人生 > >string函字串和字元連線區別

string函字串和字元連線區別

在測試字串和字元連線,發現了一個小細節:

當字串和字元連線時,用+符號進行連線,會按照順序依次連線,達到預期的結果。

當字串和字元連線時,如果是用的+=符號進行連線,後面跟上多個字元將會先計算他們的ASCII碼和再與字串進行連線。

具體情況可以參看下面的示例進行體會:

	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