vector的用法

vector的用法

ID:37900286

大?。?9.50 KB

頁(yè)數(shù):6頁(yè)

時(shí)間:2019-06-02

vector的用法_第1頁(yè)
vector的用法_第2頁(yè)
vector的用法_第3頁(yè)
vector的用法_第4頁(yè)
vector的用法_第5頁(yè)
資源描述:

《vector的用法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、這篇文章的目的是為了介紹std::vector,如何恰當(dāng)?shù)厥褂盟鼈兊某蓡T函數(shù)等操作。本文中還討論了條件函數(shù)和函數(shù)指針在迭代算法中使用,如在remove_if()和for_each()中的使用。通過(guò)閱讀這篇文章讀者應(yīng)該能夠有效地使用vector容器,而且應(yīng)該不會(huì)再去使用C類型的動(dòng)態(tài)數(shù)組了。Vector總覽vector是C++標(biāo)準(zhǔn)模板庫(kù)中的部分內(nèi)容,它是一個(gè)多功能的,能夠操作多種數(shù)據(jù)結(jié)構(gòu)和算法的模板類和函數(shù)庫(kù)。vector之所以被認(rèn)為是一個(gè)容器,是因?yàn)樗軌蛳袢萜饕粯哟娣鸥鞣N類型的對(duì)象,簡(jiǎn)單地說(shuō),vector是一個(gè)能夠存放任意類型的動(dòng)態(tài)數(shù)組,能夠增加和壓縮數(shù)據(jù)。為了可以使用

2、vector,必須在你的頭文件中包含下面的代碼:#includevector屬于std命名域的,因此需要通過(guò)命名限定,如下完成你的代碼:usingstd::vector;vectorvInts;或者連在一起,使用全名:std::vectorvInts;建議使用全局的命名域方式:usingnamespacestd;在后面的操作中全局的命名域方式會(huì)造成一些問(wèn)題。vector容器提供了很多接口,在下面的表中列出vector的成員函數(shù)和操作。Vector成員函數(shù)函數(shù)表述c.assign(beg,end)、c.assign(n,elem),將[

3、beg;end)區(qū)間中的數(shù)據(jù)賦值給c。將n個(gè)elem的拷貝賦值給c。c.at(idx)傳回索引idx所指的數(shù)據(jù),如果idx越界,拋出out_of_range。c.back()傳回最后一個(gè)數(shù)據(jù),不檢查這個(gè)數(shù)據(jù)是否存在。c.begin()傳回迭代器重的可一個(gè)數(shù)據(jù)。c.capacity()返回容器中數(shù)據(jù)個(gè)數(shù)。c.clear()移除容器中所有數(shù)據(jù)。c.empty()判斷容器是否為空。c.end()指向迭代器中的最后一個(gè)數(shù)據(jù)地址。c.erase(pos)刪除pos位置的數(shù)據(jù),傳回下一個(gè)數(shù)據(jù)的位置。c.erase(beg,end)刪除[beg,end)區(qū)間的數(shù)據(jù),傳回下一個(gè)數(shù)據(jù)的位

4、置。c.front()傳回第一個(gè)數(shù)據(jù)。get_allocator使用構(gòu)造函數(shù)返回一個(gè)拷貝。c.insert(pos,elem)在pos位置插入一個(gè)elem拷貝,傳回新數(shù)據(jù)位置。c.insert(pos,n,elem)在pos位置插入n個(gè)elem數(shù)據(jù)。無(wú)返回值。c.insert(pos,beg,end)在pos位置插入在[beg,end)區(qū)間的數(shù)據(jù)。無(wú)返回值。c.max_size()返回容器中最大數(shù)據(jù)的數(shù)量。c.pop_back()刪除最后一個(gè)數(shù)據(jù)。c.push_back(elem)在尾部加入一個(gè)數(shù)據(jù)。c.rbegin()傳回一個(gè)逆向隊(duì)列的第一個(gè)數(shù)據(jù)。c.rend()傳回

5、一個(gè)逆向隊(duì)列的最后一個(gè)數(shù)據(jù)的下一個(gè)位置。c.resize(num)重新指定隊(duì)列的長(zhǎng)度。c.reserve()保留適當(dāng)?shù)娜萘?。c.size()返回容器中實(shí)際數(shù)據(jù)的個(gè)數(shù)。c1.swap(c2)swap(c1,c2)將c1和c2元素互換。同上操作。vectorc創(chuàng)建一個(gè)空的vector。vectorc1(c2)復(fù)制一個(gè)vector。vectorc(n)創(chuàng)建一個(gè)vector,含有n個(gè)數(shù)據(jù),數(shù)據(jù)均已缺省構(gòu)造產(chǎn)生。vectorc(n,elem)創(chuàng)建一個(gè)含有n個(gè)elem拷貝的vector。vectorc(beg,end)創(chuàng)建

6、一個(gè)以[beg;end)區(qū)間的vector。c.~vector()銷毀所有數(shù)據(jù),釋放內(nèi)存。Vector操作函數(shù)描述operator[]返回容器中指定位置的一個(gè)引用。創(chuàng)建一個(gè)vectorvector容器提供了多種創(chuàng)建方法,下面介紹幾種常用的。創(chuàng)建一個(gè)Widget類型的空的vector對(duì)象:vectorvWidgets;創(chuàng)建一個(gè)包含500個(gè)Widget類型數(shù)據(jù)的vector:vectorvWidgets(500);創(chuàng)建一個(gè)包含500個(gè)Widget類型數(shù)據(jù)的vector,并且都初始化為0:vectorvWidgets

7、(500,Widget(0));創(chuàng)建一個(gè)Widget的拷貝:vectorvWidgetsFromAnother(vWidgets);向vector添加一個(gè)數(shù)據(jù)vector添加數(shù)據(jù)的缺省方法是push_back()。push_back()函數(shù)表示將數(shù)據(jù)添加到vector的尾部,并按需要來(lái)分配內(nèi)存。例如:向vector中添加10個(gè)數(shù)據(jù),需要如下編寫代碼:for(inti=0;i<10;i++)vWidgets.push_back(Widget(i));獲取vector中制定位置的數(shù)據(jù)很多時(shí)候我們不必要知道vec

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。