vector.erase
調整矢量對象的大小,以便我可以使用vector.size()
來測量縮小的大小嗎?例如擦除一個或多個元素後,矢量數組是否調整大小?
;
vector<int> v(5);
v = {1,2,3,4,5};
我想刪除4;
v.erase(v.begin()+4);
我的矢量對象v
現在的大小是4。換句話說就是在這個操作之後是v.size() == 4
?
vector.erase
調整矢量對象的大小,以便我可以使用vector.size()
來測量縮小的大小嗎?例如擦除一個或多個元素後,矢量數組是否調整大小?
;
vector<int> v(5);
v = {1,2,3,4,5};
我想刪除4;
v.erase(v.begin()+4);
我的矢量對象v
現在的大小是4。換句話說就是在這個操作之後是v.size() == 4
?
是的,尺寸減少隨着您擦除元素。
不要害怕,雖然測試自己,寫一個小例子,像這樣:):
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v(5);
v = {1,2,3,4,5};
cout << v.size() << endl;
v.erase(v.begin()+4);
cout << v.size() << endl;
return 0;
}
,你會得到:
[email protected]:~$ g++ -Wall -std=c++0x main.cpp
[email protected]:~$ ./a.out
5
4
,我們將期待那對嗎?我的意思是說ref:
返回大小
返回向量元素的數量。
這是向量中保存的實際對象的數量,而不是 必須等於其存儲容量。
只需嘗試一下或閱讀文檔。 –
順便說一句,不要混淆大小和容量。 – deviantfan
.size()是否減小。 – Kishaan92