C vector容器用法 5

2021-10-09 04:29:04 字數 3248 閱讀 4258

vector是乙個封裝了動態大小陣列的順序容器。可以理解為動態陣列。

方法一:

vector < int> a;//建立乙個空陣列

方法二:

vector< int> a(10);//建立10個元素的陣列,對於int,10個元素的值均為0。類似陣列定義int a[10]=;

方法三:

vector< int>a(10,1);//建立10個元素的陣列,且每個元素初值為1

方法四:

vector< int> b(5);//不能是int b[5],要是vector才行

vector< int> a(b);//用向量b給向量a賦值,a的值完全等價於b的值

錯誤的賦值:

vector<

int> a;

//定義乙個空陣列a[0

]=1024

;//error

這樣寫是錯誤的,因為a裡還沒有第乙個元素,我們只能索引 vector 中已經存在的元素.

正確的賦值

應該是:a.push_back(2); a.push_back(5);

訪問:直接利用陣列,中括號。a[0],a[1]

size(): 返回 vector 包含的元素的個數。

push_back():插入操作,在vector的末尾新增乙個資料,而不是覆蓋現有的元素。

pop_back(): 刪除向量中最後乙個元素

clear():清除容器中所以資料

int

main()

std::cout << endl << obj.

size()

<< endl;

//10. size()獲取陣列長度

for(

int i =

0; i <

5; i++

)for

(int i =

0; i < obj.

size()

; i++

) obj.

clear()

;//清除容器中所以資料

std::cout << endl <<

"obj.size() = "

<< obj.

size()

<< endl;

= 0

return0;

}

vector< double> a(2); // 類似陣列定義int a[2];如果使用push_back()新增元素,則陣列大小會增加。

vector< double> a[2]; //說明有兩行陣列都是double型別的,而且裡面沒有元素。a [0]是第一行陣列,a[1]是第二行陣列。

int

main()

}// v[0] = 5 6 7 //第一行

// v[1] = 6 7 8 //第二行

cout << v[0]

[0]<< endl;

//5 cout << v[1]

[0]<< endl;

//6 cout << v[0]

[1]<< endl;

//6 cout << v[1]

[1]<< endl;

//7 cout << v[0]

[2]<< endl;

//7 cout << v[1]

[2]<< endl;

//8return0;

}

全部的**:

// eigen_test.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include

#include

#include

#include

//using namespace eigen; //命名空間

using

namespace std;

intmain()

std::cout << endl << obj.

size()

<< endl;

//10. size()獲取陣列長度

for(

int i =

0; i <

5; i++

)for

(int i =

0; i < obj.

size()

; i++

) obj.

clear()

;//清除容器中所以資料

for(

int i =

0; i < obj.

size()

; i++

)#endif

/* 2.v[2]的用法,兩行陣列 */

#if 0

vector<

double

> obj[2]

;//說明有兩行,而且裡面沒有元素.target_positions[0]是第一行,target_positions[1]是第二行,

int d1 = obj[0]

.size()

;//第一行的元素個數為0

int d2 = obj[1]

.size()

;//第二行的元素個數為0

//cout << d1 << endl; //0

//cout << d2 << endl; //0

for(

int j =

0; j <

3; j++)}

// obj[0] = 5 6 7 //第一行

// obj[1] = 6 7 8 //第二行

cout << obj[0]

[0]<< endl;

//5 cout << obj[1]

[0]<< endl;

//6 cout << obj[0]

[1]<< endl;

//6 cout << obj[1]

[1]<< endl;

//7 cout << obj[0]

[2]<< endl;

//7 cout << obj[1]

[2]<< endl;

//8#endif

return0;

}

c vector容器的用法

vector 是向量型別,它可以容納許多態別的資料,如若干個整數,所以稱其為容器。vector 是c stl的乙個重要成員,使用它時需要包含標頭檔案 include using namespace std 一 vector 的初始化 可以有五種方式,舉例說明如下 1 vectora 10 定義了10...

vector容器用法

1 標頭檔案 include.2 建立vector物件,vector vec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout vector iterator it for it vec.begin it vec.end it cout it 6 插入元素 vec.i...

STL Vector容器用法

以類模板形式封裝的資料結構,用於儲存資料。標頭檔案 include vector是c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。vector之所以被認為是乙個容器,是因為它能夠像容器一樣存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動...