C++(STL):11---vector源码剖析
生活随笔
收集整理的這篇文章主要介紹了
C++(STL):11---vector源码剖析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、vector概述
vector的使用語法可以參考文章之前的幾篇文章,總的來說:vector是可變大小數組
特點:
支持快速隨機訪問。在尾部之外的位置插入或刪除元素可能很慢
元素保存在連續的內存空間中,因此通過下標取值非常快
在容器中間位置添加或刪除元素非常耗時
一旦vector內存不足,重新申請內存之后,和原vector相關的指針,引用,迭代器都失效。內存重分配耗時很長
通常,使用vector是最好的選擇,如果沒有什么特殊要求,最好使用vector
與其他容器的比較:
| vector | 可變大小數組。支持快速隨機訪問。在尾部之外的位置插入或刪除元素可能很慢 |
| deque | 雙端隊列。支持快速隨機訪問。在頭尾插入/刪除速度很快 |
| list | 雙向鏈表。只支持雙向順序訪問。在list中任何位置進行插入和刪除的速度都很快 |
| forward_list | 單向鏈表。只支持單向順序訪問。在鏈表任何位置進行插入和刪除操作速度都很快 |
| array | 固定大小數組。支持快速隨機訪問。不能添加或刪除元素 |
| string |
總結
以上是生活随笔為你收集整理的C++(STL):11---vector源码剖析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Git(6)-Git配置文件、底层操作命
- 下一篇: C++(STL):27 ---关联式容器