vector.erase
ベクトルオブジェクトのサイズを変更して、vector.size()
で縮小サイズを測定できるようにしますか?1つ以上の要素を消去した後、ベクトル配列のサイズを変更しますか?
例えば、
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()
で縮小サイズを測定できるようにしますか?1つ以上の要素を消去した後、ベクトル配列のサイズを変更しますか?
例えば、
vector<int> v(5);
v = {1,2,3,4,5};
と4で削除します。
v.erase(v.begin()+4);
私のベクターオブジェクトv
は現在4のサイズを持っていますか?つまり、この操作後にv.size() == 4
ですか?
はい、サイズは、要素を消去すると、が減少します。
この:)のように、最小限の例を書き込むことによって、しかし、自分自身をテストすることを恐れてはいけない:
[email protected]:~$ g++ -Wall -std=c++0x main.cpp
[email protected]:~$ ./a.out
5
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;
}
は、あなたが得るだろうそう?私はrefが言う意味:
は、ベクトルの要素数を返します
リターンの大きさ。
これは、ベクトルに保持されている実際のオブジェクトの数です。これは、その記憶容量に必ず等しい ではありません。
試してみるか、ドキュメントを読んでください。 –
Btw。サイズと容量を混同しないでください。 – deviantfan
.size()は減少します。 – Kishaan92