C 陣列array與vector的比較

2021-07-06 03:35:56 字數 900 閱讀 9453

vector 是stl中的容器類,包含多種通用演算法

長度可變,使用靈活,但效率稍低

vector是使用 new 和 delete 來管理記憶體的

1:array 定義的時候必須定義陣列的元素個數;而vector 不需要;
且只能包含整型字面值常量,列舉常量或者用常量表示式初始化的整型const物件,

非const變數以及需要到執行階段才知道其值的const變數

都不能用來定義陣列的維度.

2:array 定義後的空間是固定的了,不能改變;而vector 要靈活得多,可再加或減.

3:vector有一系列的函式操作,非常方便使用.和vector不同,陣列不提供 push——back或者其他的操作在陣列中新增新元素,陣列一經定義就不允許新增新元素;

若需要則要充許分配新的記憶體空間,再將員陣列的元素賦值到新的記憶體空間。

4.   陣列和vector不同,乙個陣列不能用另乙個陣列初始化,也不能將乙個陣列賦值給另乙個陣列; 5

、vector與陣列最大的區別就是可以實現動態儲存;

vectortext;//定義string的容器,這時候該容器是空的.。

//翻譯為容器非常形象吧,呵呵!

string word; //定義字串變數

while(cin>>word)

text.push_back(word)//每輸入一串字元,就將他裝入我們定義的容器

//為了驗證我們的結論,我們看看輸出結果,當然vector型別可以像數

//陣列一樣用下標輸出,不過這不是乙個好辦法

//輸出容器中的資料我們一般使用迭代器,**如下:

for( vector::iterator i=text.begin();    i!=text.end();    i++)

C 陣列array與vector的比較

1.陣列的為數必須用 值大於等於1的常量表示式定義,且只能包含整型字面值常量,列舉常量或者用常量表示式初始化的整型const物件,非const變數以及需要到執行階段才知道其值的const變數都不能用來定義陣列的維度 2.陣列的維度必須用 內指定 3.顯示初始化陣列元素的時候用 括起來,成為初始化列表...

c 中的array陣列和vector陣列

我覺得實驗一下會記得比較牢,話不多直接上 下面是array陣列,感覺用的不多。cpp 風格陣列 array include include include using namespace std intmain for int i 0 i myint.size i size 獲取長度,vector也...

比較陣列,模板array和模板vector

先上簡單的乙個例項 include include include int main c 98 stl vectora2 4 creat vector with 4 elements no way to initinaize in c98 a2 0 1.0 3.0 a2 1 1.0 5.0 a2 2...