vector和數組


    對於之前沒有接觸過vector的初學者來說,經常會把vector和數組弄混,因為二者在用的時候比較像,下面就詳細的來介紹一下vector和數組的區別。

(1) 首先,vector類似於數組,有一段連續的內存,有固定的起始地址,可進行隨機存取操作,即可以像數組一樣用[ ]操作符進行元素的隨機訪問

(2) 另外,vector和數組一樣,都可以存放任意對象,但除了引用,即不存在引用的數組和引用的vector。

(3) vector是一個能存放任意類型的動態數組,是動態連續空間是一種順序的容器(vector也可以看作是向量)

    數組對比vector的的缺點:

(1) 首先數組的長度必須是常量表達式,並且在初始化的時候就應該給出來。

(2) 數組之間不能夠進行整體之間的復制,但是vector容器可以進行整體之間的賦值。

(3) 數組使用的時候下標容易越界,雖然vector也可以使用下標來訪問容器中的數據,但是vector可以使用較多的機制來控制,比如用迭代器。

     還有一點要說一下,數組名和容器名是有區別的,數組名不僅表示數組的名稱,還代表了數組的首地址,數組名有時候可看作指針,並使

用一些類似於指針的操作,例如初始化了一個數組 int a[10];可進行如下操作,a+4、*(a+5)等來訪問a中的數據。而容器名的話就僅僅只是

容器的名稱了,它沒有類似於數組名的那些操作。

    最后說一下二者的使用情況,在不需要變長且容量較小的時候用array;需要變長,容量較大的時候就用vector。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM