1. 程式人生 > >C++裏面的 RVO(Return value optimization)

C++裏面的 RVO(Return value optimization)

con ide vector tps wikipedia test case class stl TP

在給 uSTL 裏面的 vector 嘗試加入 C++11 特性的時候,發現 move constructor 在 test case 裏並沒有調用,後來發現是因為 RVO 的原因。
RVO介紹:https://en.wikipedia.org/wiki/Copy_elision#Return_value_optimization
如果要關閉 RVO,給 g++ 加上 --no-elide-constructors

C++裏面的 RVO(Return value optimization)