概述
- vector是一個容器,可以存放變長數組,並且由使用者自己變化長度,解決了傳統數組必須確定長度的問題。
- vector使用一塊連續的內存來存放元素,所以同樣可以用指針來獲取元素。
- 當在原有vector數組中添加新的元素,需要增加數組長度,但是因爲vector使用了一種變長分配數組,所以不需要像普通數組一樣開一個新數組,然後把原數組拷貝過去。優秀!
- vector容器一般會在聲明一個數組以後分配比需要的更多空間來存放可能增加的元素,所以一般實際的容量會大於自己需要的多,以防萬一。
- 綜上,相比array,vector需要更多一些內存,並且會用一種高效的方式動態增長。
常用成員函數:
begin():返回迭代器到開頭
end():返回迭代器到末尾
size():返回vector元素個數
maxsize():返回vector長度
resize():改變vector長度
empty():測試vector是否爲空
assign():分配vector容量
push_back():在容器末尾添加元素
pop_back():刪除容器最後一個元素
insert() 函數有以下三種用法:
- 在指定位置loc前插入值爲val的元素,返回指向這個元素的迭代器,
- 在指定位置loc前插入num個值爲val的元素
- 在指定位置loc前插入區間[start, end)的所有元素 .
erase()函數:消除元素
swap():交換元素
clear():清除容器中所有元素,並且容器長度爲0