C STL中vector的初始化

2022-07-28 12:48:29 字數 1023 閱讀 2420

vector的初始化有很多方式,在n維初始化時還會一些容易出現錯誤的地方。下面進行總結

以下的總結均以int作為模板引數

vector的建構函式通常來說有五種,如下:

vector():建立乙個空vector

vector(int nsize):建立乙個vector,元素個數為nsize

vector(int nsize,const t& t):建立乙個vector,元素個數為nsize,且值均為t

vector(const vector&):複製建構函式

vector(begin,end):複製[begin,end)區間內另乙個陣列的元素到vector中

注意第三條,如果傳入的是兩個引數的話,第乙個引數是大小,第二是個初值。

下面為測試**以及執行結果:

#include#includeusing namespace std;

int main(){

////////////////

//建構函式部分

////////////////

//空vector

vectorvec1();

cout<

cout<

cout<

for(int i=0;i<5;i++){

cout<

cout<

for(int i=0;i<5;i++){

cout<

cout<

for(int i=0;i<5;i++){

cout<

先看怎麼寫:

vector> ivec(m ,vector(n));

簡單來說就是要利用上面的第三種方式,讓每個元素的初值是乙個一維的vector。另外前面的模板引數裡面也是乙個巢狀的模式。

這裡有一點要非常注意,有的編譯器在int後面的兩個》 >之間一定要有乙個空格,否則編譯器會報錯,因為它會認為》是乙個c++的運算子(有的不用這樣。

C STL中vector的六種初始化方式

預設初始化,vector為空,size為0,表明容器中沒有元素,而且 capacity 也返回 0,意味著還沒有分配記憶體空間。這種初始化方式適用於元素個數未知,需要在程式中動態新增的情況。或 vectorilist2 ilist1 兩種方式等價 ilist2 初始化為ilist 的拷貝,ilist...

STL中vector的初始化

vector可用於代替c 中的陣列,一般一致認為應該多用vector,因為它的效率更高,而且具備很好的異常安全性。而且vector是stl推薦使用的預設容器,stl中向量是使用陣列實現的,因此向量具有順序表的特點,可以快速隨機訪問資料。向量是一種資料型別的物件的集合,每個物件根據其位置有乙個整數索引...

vector陣列的初始化

vector容器是包含 type 型別元素的序列容器。vector容器的大小 長度 可以自動增長,從而可以包含任意數量的元素,只要元素個數超出 vector 當前容量,就會自動分配更多的空間。但是只能在容器尾部高效地刪除或新增元素。vectorname type 指數組型別,例如int,float,...