c++中vector<int>和vector&
在使用STL容器(比如map、list、vector等)的時(shí)候,是用放一個(gè)對(duì)象還是放一個(gè)對(duì)象指針,即是用vector<int>還是vector<int*>,這里的vector可以換成其他的容器,int可以換成其他基本類型,也可以自定義的數(shù)據(jù)結(jié)構(gòu)或類。
首先,要說明的是,這兩種方式,怎么用都可以實(shí)現(xiàn)功能,把一組整型數(shù)放到容器里。先看看兩種方式在使用的時(shí)候的區(qū)別。
1.vector<int>
vector<int> vecTemp;
for (int i=0; i< 10; i++)
{
vecTemp.push_back(i);
}
這種方式不需要?jiǎng)討B(tài)new內(nèi)存,當(dāng)然也不用delete。
2.vector<int*>
vector<int*> vecTemp;
for (int i=0; i< 10; i++)
{
int* nTemp = new int;
nTemp = &i;
vecTemp.push_back(i);
}
這種方式采用new,當(dāng)然也要用delete:
std::vector<int*>::iterator Iter;
for(Iter=vecTemp.begin(); Iter!=vecTemp.end(); Iter++)
{
int* temp = *Iter;
delete temp;
temp = NULL;
}
3.兩種用法的區(qū)別:
1)vector<int>不需要?jiǎng)討B(tài)操作內(nèi)存,不用擔(dān)心內(nèi)存泄露等問題;vector<int*>要注意new和delete成對(duì)使用。
2)當(dāng)int改變成其他類型或結(jié)構(gòu)或類的時(shí)候,用vector<int*>這種方式比較方便,容器里放的內(nèi)容占用的內(nèi)存也相對(duì)要少一些,指針在用的時(shí)候,去申請(qǐng)空間,不用,那就是個(gè)占用4個(gè)字節(jié)的地址。
欄 目:C語言
下一篇:linux之sort命令的用法
本文標(biāo)題:c++中vector&amp;lt;int&amp;gt;和vector&
本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/4018.html
您可能感興趣的文章
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言中對(duì)數(shù)函數(shù)的表達(dá)式 c語言中對(duì)數(shù)怎么表達(dá)
- 04-02c語言沒有round函數(shù) round c語言
- 04-02C語言中怎么打出三角函數(shù) c語言中怎么打出三角函數(shù)的值
- 01-10深入理解C++中常見的關(guān)鍵字含義
- 01-10使用C++實(shí)現(xiàn)全排列算法的方法詳解
- 01-10深入Main函數(shù)中的參數(shù)argc,argv的使用詳解
- 01-10APUE筆記之:進(jìn)程環(huán)境詳解
- 01-10c++中inline的用法分析
- 01-10如何尋找數(shù)組中的第二大數(shù)


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對(duì)數(shù)函數(shù)的表達(dá)式 c語言中對(duì)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機(jī)閱讀
- 01-10delphi制作wav文件的方法
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置