2012-02-29 44 views
0

C++ 11引入了move semanticsrvalue references以防止不必要的臨時對象複製。我的問題是,是否有任何研究或論文顯示改進move semantics已超過C++代碼不使用它。移動語義和右值引用提高了性能

我認爲它提高性能的一些領域是字符串處理和使用運算符重載的科學庫。但是我們是不是已經有了高性能的科學庫,比如在C++ 11之前就存在的blitz++。也許,通過使用move semantics,它可以進一步優化。

您怎麼看?move semanticsrvalue references哪種應用會大大受益?

回答

1

幾乎所有使用C++標準庫的應用程序都將從移動語義中受益,而不需要做任何額外的事情。例如,看看vector<string> - 移動語義會增加新元素的成本,並使載體的增長速度大大降低。

+0

是否-std = C++ 11標誌會自動選擇帶移動語義的STL庫? – MetallicPriest 2012-02-29 16:55:48

+0

根據此頁面:http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011「在此實現中-std = gnu ++ 11或-std = C++ 11標誌必須用於啓用語言和庫功能「 – 2012-02-29 17:02:29