這篇文章主要介紹c++11新標準中移動語義與右值引用是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1.移動語義
C++11新標準中一個最主要的特性就是提供了移動而非拷貝對象的能力。如此做的好處就是,在某些情況下,對象拷貝后就立即被銷毀了,此時如果移動而非拷貝對象會大幅提升性能。參考如下程序:
//moveobj.cpp #include#include using namespace std; class Obj { public: Obj(){cout <<"create obj" << endl;} Obj(const Obj& other){cout<<"copy create obj"< foo() { vector c; c.push_back(Obj()); cout<<"---- exit foo ----"< v; v=foo(); }