簡單的問題出於好奇。哪一種更高效/更簡潔:清除現有的字符串流或創建新的字符串流?
一個類的多個方法需要使用一個stringstream,或者特別是一個ostringstream。
1)有一個字符串流變量作爲類成員,然後就明確表示,每次使用它即msg.str("")
2)創建一個新的字符串流變量本地每種方法之前,你需要使用它。
從效率和整潔性角度來看,哪種方法是實現這一目標的最佳方式?
我的預感是選項1,但不確定初始構造是否與每次調用str()相比會更糟?
P.S.我讀過Initializing.. which one is more efficient?和Which is quicker/more efficient?,我的下一個步驟將是我尋找到分析和寫一個小的測試應用程序,但我覺得問可能會更快:-)
問題的問題是,答案將充滿宗教和民間傳說,很可能不會適用於您的情況。分析應該是首選。 – PlasmaHH 2012-01-06 10:47:34
@PlasmaHH:剖析只顯示性能......如果做得對。詢問也可能指出某些方法中的其他缺陷(例如與「整齊」方面有關)。這就是說,我只能認同主觀性是一種風險。 – 2012-01-06 10:55:19
分析問題是它回答了你所運行的環境的問題(如果你沒有把它填滿 - 分析可能會很棘手),並且你不瞭解一致性,可移植性或正確性諸如詹姆斯指出的問題...... – 2012-01-06 10:55:58