一、vector概述
vector的使用語法可以參考文章之前的幾篇文章,總的來說:vector是可變大小數組
特點:
支持快速隨機訪問。在尾部之外的位置插入或刪除元素可能很慢
元素保存在連續的內存空間中,因此通過下標取值非常快
在容器中間位置添加或刪除元素非常耗時
一旦vector內存不足,重新申請內存之后,和原vector相關的指針,引用,迭代器都失效。內存重分配耗時很長
通常,使用vector是最好的選擇,如果沒有什么特殊要求,最好使用vector
與其他容器的比較:
vector | 可變大小數組。支持快速隨機訪問。在尾部之外的位置插入或刪除元素可能很慢 |
deque | 雙端隊列。支持快速隨機訪問。在頭尾插入/刪除速度很快 |
list | 雙向鏈表。只支持雙向順序訪問。在list中任何位置進行插入和刪除的速度都很快 |
forward_list | 單向鏈表。只支持單向順序訪問。在鏈表任何位置進行插入和刪除操作速度都很快 |
array | 固定大小數組。支持快速隨機訪問。不能添加或刪除元素 |
string |