C STL之容器Vector(一)

2021-10-25 11:38:36 字數 623 閱讀 6013

c++ stl概述

指定一塊如同陣列一樣的連續儲存,但空間可以動態擴充套件。即它可以像陣列

一樣操作,並且可以進行動態操作。通常體現在push_back() pop_back()

隨機訪問方便,它像陣列一樣被訪問,即支援[ ] 操作符和vector.at()

節省空間,因為它是連續儲存,在儲存資料的區域都是沒有被浪費的,但是

要明確一點vector 大多情況下並不是滿存的,在未儲存的區域實際是浪費的。

內部進行插入、刪除操作效率非常低,這樣的操作基本上是被禁止的。

vector 被設計成只能在後端進行追加和刪除操作,其原因是vector 內部的實現

是按照順序表的原理。

只能在vector 的最後進行push 和pop,不能在vector 的頭進行push 和pop 。

當動態新增的資料超過vector 預設分配的大小時要進行記憶體的重新分配、拷

貝與釋放,這個操作非常消耗效能。 所以要vector 達到最優的效能,最好在創

建vector 時就指定其空間大小。

常用函式

c STL庫容器之向量vector

vector向量是一種順序行容器。相當於陣列,但其大小可以不預先指定,並且自動擴充套件。它可以像陣列一樣被操作,由於它的特性我們完全可以將vector 看作動態陣列。在建立乙個vector 後,它會自動在記憶體中分配一塊連續的記憶體空間進行資料儲存,初始的空間大小可以預先指定也可以由vector 預...

C STL 考點 容器(vector)

default 1 explicit vector const allocator type alloc allocator type fill 2 explicit vector size type n vector size type n,const value type val,const a...

C STL感知 vector容器

vector容器非常類似陣列,也稱單端陣列 vector容器的迭代器支援隨機訪問與陣列不同 陣列是在靜態空間分配,vector可以動態擴充套件動態擴充套件原理 重新分配空間,將原空間資料拷貝到新空間,再釋放原空間建立vector容器void get vector void show vector v...