string result; result.reserve(1000); result += str_you; result += “said: ”; result += str_he; result += “ said: @#$% ”; result += str_i; result += “said: over!”; 假如只有一兩個性能熱點,我打賭,我會這樣先嘗試一下。我認為這是一個很好的開始,我們已經熟悉到導致瓶頸的原因并且試圖消除它。你也可以這么做。 寫這篇文章,當然意味著還有別的方法,而且和懶惰計算有關。因為我們不能修改basic_string::的operator+,因此,先把表達式變形: