關於C++ vector的拷貝


定義了vector變量,在使用時直接用了等號賦值,后來發現有問題,就查了一下vector怎么賦值?

說明:vector是一個構造對象,不能直接使用=符號進行復制,必須迭代每個元素來復制。或者重載=操作符。

 

賦值方法:大致有以下幾種方法實現用於把一個vector復制給另一個vector:

//方法1: vector<int > v1(v2);//聲明 //方法2:使用swap進行賦值: vector<int > v1();v1.swap(v2);//將v2賦值給v1,此時v2變成了v1 //方法3:使用函數assign進行賦值: vector<int > v1;//聲明v1 v1.assign(v2.begin(), v2.end());//將v2賦值給v1 //方法4:使用循環語句賦值,效率較差 vector<int >::iterator it;//聲明迭代器 for(it = v2.begin();it!=v2.end();++it){//遍歷v2,賦值給v1 v1.push_back(it); } 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM