2012-05-27 26 views
0

我有一個向量,我使用push_back添加元素。矢量中的第一個元素是什麼?

當我正在調試時,我向矢量添加了一個元素,但矢量包含[0]和[1]的元素。 [1]是我推送的元素,但[0]看起來像某種可以爲空的對象。

矢量大小也是2,即使我只插入一次。

後來在我的代碼中,我將遍歷使用vector_name[i]的向量。最初我會從i=0開始,這是否意味着您應該使用1(或某種迭代器)的向量?

+9

發表一個簡短的例子來說明。矢量中的元素零與其他元素相同。我的猜測是你說'vector v(1);'這會創建一個大小爲1的向量,而不是第一個元素爲1。然後,當你'push_back'時,你添加到結尾。 – chris

+2

請在初始化向量時添加代碼 – Attila

+1

請勿保留指向元素的指針。當vector <>重新分配其內部存儲時,使用push_back()會使它們失效。 –

回答

3

第一個元素應該是vector[0]

例如:

int anumber = 300; 
std::vector<int> intvector; 
intvector.push_back(anumber); 

std::cout << intvector[0]; 

將打印300