這篇文章主要介紹c++11新標準中移動語義與右值引用是什么,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
目前創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務器托管、網(wǎng)站托管、服務器租用、企業(yè)網(wǎng)站設(shè)計、夏河網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。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(); }