C++:vector 的使用
std::vector
容器屬性
序列 | 動態陣列 | Allocator-aware
序列容器的元素按嚴格線性排列,可按順序訪問它們的位置;
動態陣列允許直接訪問其任何元素,可快速在序列末尾相對快速進行元素新增 / 刪除;
容器通過 allocator 物件動態處理儲存需求
迭代器相關函式:
(public member function )
將迭代器返回到開頭(增長方向:begin -> end)
將迭代器返回到結尾
返回反向迭代器以反向開始(增長方向:rbegin -> rend)
將反向迭代器返回到反向結束
將const_iterator返回到開頭(與begin類似,區別在於begin指向的值可以改變,cbegin指向的值不可改變)
cend (C++11)
將const_iterator返回到開頭末尾
返回const_reverse_iterator以反向開始
crend (C++11)
將const_reverse_iterator返回到反向結束
容量相關函式:
(public member function )
返回目前元素的數量
返回可以拓展的最大容量
改變目前容器
返回已經分配給容器的大小
判斷容器是否為空
改變容器的預留空間的大小,影響capacity,不影響 size
縮小容量到較適合的程度,影響capacity,不影響size
元素訪問操作 :
(public member function )
直接訪問指定位置的元素
直接訪問指定位置的元素,指定位置超出有效範圍會報出異常
訪問首元素
訪問尾元素
data (C++11)
返回指向陣列首元素的指標
修改元素操作:
(public member function )
分配容器的內容
在尾部新增一個元素
在尾部刪除一個元素
迭代器位置插入元素,或者插入連續的序列
擦除迭代器位置的元素,或者擦除連續的序列
交換兩個容器的內容
清空容器的內容
在迭代器位置插入元素(emplace使用直接建構函式,insert使用複製建構函式)
在尾部新增一個元素