0
string& operator+= (const string& str);
當我們看看函數原型時,我們假設傳遞給函數的字符串不會被改變,對吧?像「string&operator + =(const string&str)」這樣的函數參數類型不是混淆嗎? (引用常量)
然而,審時度勢:
string str("Example");
str += str;
字符串 '海峽' 改變了,其實。 這種情況不是很奇怪嗎?
將原型更改爲?
string& operator+= (string& str);
我已經搜索了很多這樣的來源和例子,但對大多數人來說這似乎是正常的。有沒有人問這個問題,或者可能是我沒有找到的情況(對不起,如果是我的問題,很難找到非母語的適當關鍵字)
謝謝!現在有道理。 –