C++-STL之vector容器的用法.doc

C++-STL之vector容器的用法.doc

ID:57863222

大小:198.50 KB

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

時(shí)間:2020-09-02

C++-STL之vector容器的用法.doc_第1頁(yè)
C++-STL之vector容器的用法.doc_第2頁(yè)
C++-STL之vector容器的用法.doc_第3頁(yè)
C++-STL之vector容器的用法.doc_第4頁(yè)
C++-STL之vector容器的用法.doc_第5頁(yè)
資源描述:

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

1、C++STL之vector容器的使用方法1成員類型12vector的構(gòu)造函數(shù)22.1右值和引用32.2初始化列表構(gòu)造函數(shù)32.3賦值函數(shù)53容量相關(guān)的函數(shù)53.1size函數(shù)63.2max_size函數(shù)63.3resize函數(shù)63.4capacity函數(shù)73.5reverse函數(shù)73.6empty函數(shù)83.7shrink_to_fit函數(shù)84vector元素獲取函數(shù)84.1[]操作符函數(shù)94.2at函數(shù)94.3front函數(shù)94.4back函數(shù)94.5data函數(shù)C++1195vector中修改元素

2、的函數(shù)95.1assign函數(shù)95.2push_back函數(shù)105.3pop_back函數(shù)105.4insert函數(shù)105.5erase函數(shù)115.6swap函數(shù)125.7emplace函數(shù)(C++11)125.8emplace_back函數(shù)136關(guān)于分配器的函數(shù)137關(guān)于迭代器的函數(shù)14Vector本質(zhì)上也是數(shù)組,它和array的區(qū)別是array的長(zhǎng)度大小固定,而vector是容量可以動(dòng)態(tài)變化的數(shù)組。當(dāng)有新元素插入時(shí),需要重新非配內(nèi)存,這會(huì)造成時(shí)間上昂貴的開銷,但是實(shí)際上,vector實(shí)際上被分配

3、一些額外的存貯空間以應(yīng)對(duì)元素個(gè)數(shù)增長(zhǎng),因此vector實(shí)際容量的大小比它應(yīng)該包含元素所需的內(nèi)存大些。庫(kù)函數(shù)都用相對(duì)應(yīng)的策略來(lái)應(yīng)對(duì)時(shí)間上的消耗以及空間的分配,當(dāng)元素在末尾插入時(shí),由于額外存儲(chǔ)空間的原因,消耗的時(shí)間是常量復(fù)雜度,只有當(dāng)插入的元素城指數(shù)增長(zhǎng)時(shí),才需要重新分配內(nèi)存。相對(duì)array來(lái)講,由于vector增加了動(dòng)態(tài)分配內(nèi)存,所以vector在需要更多的內(nèi)存。相對(duì)list,deque,forward_list,vector由于是順序存儲(chǔ),所以其訪問(wèn)速度比這些動(dòng)態(tài)分配內(nèi)存的容器快,在末尾添加和刪除元

4、素也相對(duì)較快,1成員類型allocator_typeAtypethatrepresentsthe?allocator?classforthe14vectorobject.const_iteratorAtypethatprovidesarandom-accessiteratorthatcanreadaconst?elementinavector.const_pointerAtypethatprovidesapointertoa?const?elementinavector.const_referenc

5、eAtypethatprovidesareferencetoa?const?elementstoredinavectorforreadingandperforming?const?operations.const_reverse_iteratorAtypethatprovidesarandom-accessiteratorthatcanreadanyconst?elementinthevector.difference_typeAtypethatprovidesthedifferencebetwee

6、ntheaddressesoftwoelementsinavector.iteratorAtypethatprovidesarandom-accessiteratorthatcanreadormodifyanyelementinavector.pointerAtypethatprovidesapointertoanelementinavector.referenceAtypethatprovidesareferencetoanelementstoredinavector.reverse_iterat

7、orAtypethatprovidesarandom-accessiteratorthatcanreadormodifyanyelementinareversedvector.size_typeAtypethatcountsthenumberofelementsinavector.value_typeAtypethatrepresentsthedatatypestoredinavector.這些東西所有的容器都大同小異,在前面已經(jīng)介紹過(guò)了。2vector的構(gòu)造函數(shù)Vector的構(gòu)造函數(shù)分兩個(gè)版本種類

8、的98版本的default(1)explicitvector(constallocator_type&alloc=allocator_type());fill(2)explicitvector(size_typen,constvalue_type&val=value_type(),constallocator_type&alloc=allocator_type());range(3)templatevector(InputIte

當(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)系客服處理。