0
我有一個向量,我使用push_back添加元素。矢量中的第一個元素是什麼?
當我正在調試時,我向矢量添加了一個元素,但矢量包含[0]和[1]的元素。 [1]是我推送的元素,但[0]看起來像某種可以爲空的對象。
矢量大小也是2,即使我只插入一次。
後來在我的代碼中,我將遍歷使用vector_name[i]
的向量。最初我會從i=0
開始,這是否意味着您應該使用1(或某種迭代器)的向量?
我有一個向量,我使用push_back添加元素。矢量中的第一個元素是什麼?
當我正在調試時,我向矢量添加了一個元素,但矢量包含[0]和[1]的元素。 [1]是我推送的元素,但[0]看起來像某種可以爲空的對象。
矢量大小也是2,即使我只插入一次。
後來在我的代碼中,我將遍歷使用vector_name[i]
的向量。最初我會從i=0
開始,這是否意味着您應該使用1(或某種迭代器)的向量?
第一個元素應該是vector[0]
。
例如:
int anumber = 300;
std::vector<int> intvector;
intvector.push_back(anumber);
std::cout << intvector[0];
將打印300
。
發表一個簡短的例子來說明。矢量中的元素零與其他元素相同。我的猜測是你說'vector v(1);'這會創建一個大小爲1的向量,而不是第一個元素爲1。然後,當你'push_back'時,你添加到結尾。 –
chris
請在初始化向量時添加代碼 – Attila
請勿保留指向元素的指針。當vector <>重新分配其內部存儲時,使用push_back()會使它們失效。 –