在使用stl容器(比如map、list、vector等)的時候,是用放乙個物件還是放乙個物件指標,即是用vector還是vector,這裡的vector可以換成其他的容器,int可以換成其他基本型別,也可以自定義的資料結構或類。
首先,要說明的是,這兩種方式,怎麼用都可以實現功能,把一組整型數放到容器裡。先看看兩種方式在使用的時候的區別。
1.vector
複製** **如下:
vector vectemp;
for (int i=0; i< 10; i++)
這種方式不需要動態new記憶體,當然也不用程式設計客棧delete。
2.vectowielcr
複製** **如下:
vector vectemp;
for (int i=0; i< 10; i++)
這種方式採用new,當然也要用delete:
複製** **如下:
std::vector::iterator iter;
for(程式設計客棧iter=vectemp.begin(); iter!=vectemp.end(); iter++)
3.兩種用法的區別: 1)vector不需要動態操作記憶體,不用擔心記憶體洩露等問題;vector要注意new和delete成對使用。
2)當int改變成其他型別或結構或類的時候,用vector這種方式比較方便,容器裡放的內容占用的記憶體也相對要少一些,指標在用的時候,去申請空間,不用,那就是個占用4個位元組的位址。
本文標題: c++中vector和vector的用法區別
本文位址:
C 中vector和vector的區別
在使用stl容器 比如map list vector等 的時候,是用放乙個物件還是放乙個物件指標,即是用vector還是vector,這裡的vector可以換成其他的容器,int可以換成其他基本型別,也可以自定義的資料結構或類。首先,要說明的是,這兩種方式,怎麼用都可以實現功能,把一組整型數放到容器...
C 中vector和list排序
容器 泛型演算法 和類是不是就是c 相對於c 的那部分呢?暫時先這麼認為吧。如果這篇部落格有幸被別人看到,請幫忙指出。c 菜鳥 留。vector的迭代器是隨機訪問迭代器,支援泛型演算法的sort及其演算法。vector排序 include include include include includ...
C 中vector和list區別
記憶體空間 vector和陣列類似,記憶體空間是連續的,並且其實位址不變 list是由雙向鍊錶實現的,記憶體空間是不連續的。訪問 vector能夠進行高效的隨機訪問操作,時間複雜度為o 1 list是通過指標訪問資料,不能進行隨機訪問,時間複雜度是o n 插入 刪除 vector因位址時連續的,進行...