Vectors

1 Vectors


Vector的結(jié)構(gòu):


1.jpg
namespace std { 
   template <class T, 
             class Allocator = allocator<T> > 
   class vector; 
} 

vector的元素可以使任意型別的T,但必須具備assignable和copyable兩個(gè)性質(zhì)。第二個(gè)template參數(shù)可有可無,用來定義內(nèi)存模型。缺省的內(nèi)存模型是C++標(biāo)準(zhǔn)庫提供的allocator。

2 Vectors的能力


Vectors將元素復(fù)制到內(nèi)部的dynamic array中。元素之間總是存在某種順序,所以vectors是一種有序群集。vector支持隨機(jī)存取,因此只要知道位置,你可以在常數(shù)時(shí)間內(nèi)存取任何一個(gè)元素。vector的迭代器是隨機(jī)存取迭代器,所以對(duì)任何一個(gè)STL算法都可以奏效。
  在末端附件或刪除元素時(shí),vector的性能相當(dāng)好??墒侨绻阍谇岸嘶蛑胁堪膊寤騽h除元素,性能就不怎么樣了,因?yàn)椴僮鼽c(diǎn)之后的每一個(gè)元素都必須移到另一個(gè)位置,而每一次移動(dòng)都得調(diào)用assignment操作符。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容