1. 程式人生 > >C++:vector 的使用

C++:vector 的使用

std::vector

容器屬性

序列 | 動態陣列Allocator-aware

序列容器的元素按嚴格線性排列,可按順序訪問它們的位置;

動態陣列允許直接訪問其任何元素,可快速在序列末尾相對快速進行元素新增 / 刪除;

容器通過 allocator 物件動態處理儲存需求

迭代器相關函式:

(public member function )

begin

將迭代器返回到開頭(增長方向:begin -> end)

end

將迭代器返回到結尾

返回反向迭代器以反向開始(增長方向:rbegin -> rend)

rend

將反向迭代器返回到反向結束

將const_iterator返回到開頭(與begin類似,區別在於begin指向的值可以改變,cbegin指向的值不可改變)

cend (C++11)

將const_iterator返回到開頭末尾

返回const_reverse_iterator以反向開始

crend (C++11)

將const_reverse_iterator返回到反向結束

容量相關函式:

(public member function )

size

返回目前元素的數量

返回可以拓展的最大容量

改變目前容器

返回已經分配給容器的大小

empty

判斷容器是否為空

改變容器的預留空間的大小,影響capacity,不影響 size

縮小容量到較適合的程度,影響capacity,不影響size

元素訪問操作
:

(public member function )

直接訪問指定位置的元素

at

直接訪問指定位置的元素,指定位置超出有效範圍會報出異常

front

訪問首元素

back

訪問尾元素

data (C++11)

返回指向陣列首元素的指標

修改元素操作:

(public member function )

分配容器的內容

在尾部新增一個元素

在尾部刪除一個元素

迭代器位置插入元素,或者插入連續的序列

erase

擦除迭代器位置的元素,或者擦除連續的序列

swap

交換兩個容器的內容

clear

清空容器的內容

在迭代器位置插入元素(emplace使用直接建構函式,insert使用複製建構函式)

在尾部新增一個元素