vector這個容器表示可變數組的序列容器,也是連續的內存空間,咱們在理解它的時候就按照順序表的方式去理解便可。
咱們在看vector的經常使用接口時仍是將它分類來看:構造與析構、迭代器、元素訪問、元素修改、容量。數組
構造---->
經常使用構造方式:
std::vector<int> first; //空
std::vector<int> second (4,100); //4個值爲100的元素
std::vector<int> third (second.begin(),second.end()); //區間構造
std::vector<int> fourth (third); //拷貝構造
std::vector<int> v = { 1, 2, 3, 4, 5 };ide
迭代器--->
begin()
end()
返回值是iterator類型code
元素訪問--->
[]和at均可以隨即訪問vector中的元素,不一樣是在越界訪問時at拋出異常,而[]則是觸發assert
front()和back()分別返回這個容器第一個元素和最後一個元素的引用。
元素修改--->
1.assgin:有可能發生擴容接口
vector<int> v = { 1, 2, 3, 4, 5 }; v.assign(3, 5); for (auto e : v) { cout << e; }
輸出555,說明assign就是將容器中替換爲n個值爲val的元素
2.push_back和pop_back尾插和尾刪操做
3.insert插入
①:
iterator insert (iterator position, const value_type& val);
向pos位置插入值爲val的元素
②:
void insert (iterator position, size_type n, const value_type& val);
向pos插入n個值爲val的元素
4.earse:
iterator erase (iterator position);
iterator erase (iterator first, iterator last);
5.clear()清空
容量
和string中基本沒有差異內存