[C++]Vectorの末尾の要素を削除するには?

C++

どうも、ちょげ(@chogetarou)です。

Vectorの最後の要素を削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Vectorの末尾の要素を削除する方法は、3つあります。

pop_back()

1つ目は、pop_back()を使う方法です。

具体的には、「vect.pop_back()」のように、Vectorからpop_back()を引数なしで呼び出します。

//vect=任意のVector
vect.pop_back();

上記のpop_back()は、Vectorの末尾の要素を削除します。

使用例

#include <iostream>
#include <vector>
using namespace std;

int main(void){
    vector<int> num = { 1, 2, 3, 4, 5 };
  
    num.pop_back();
    
    for (int &i: num) {
        cout << i << endl;
    }
}
出力:
1
2
3
4

erase()

2つ目は、erase()を使う方法です。

まず、Vectorからerase()を呼び出します。

そして、erase()の引数に、Vectorのend()を「ー1」した値を指定します。

//vect=任意のVector
vect.erase(vect.end() - 1);

上記のerase()は、Vectorの最後の要素を削除します。

使用例

#include <iostream>
#include <vector>
using namespace std;

int main(void){
    vector<int> num = { 1, 2, 3, 4, 5 };
  
    num.erase(num.end() - 1);
    
    for (int &i: num) {
        cout << i << endl;
    }
}
出力:
1
2
3
4

resize()

3つ目は、resize()を使う方法です。

まず、Vectorからresize()を呼び出します。

そして、resize()の引数に、Vectorのsize()を「ー1」した値を指定します。

//vect=任意のVector
vect.resize(vect.size() - 1);

上記のresize()は、Vectorの最後の要素を削除します。

使用例

#include <iostream>
#include <vector>
using namespace std;

int main(void){
    vector<int> num = { 1, 2, 3, 4, 5 };
  
    num.resize(num.size() - 1);
    
    for (int &i: num) {
        cout << i << endl;
    }
}
出力:
1
2
3
4

まとめ

Vectorの末尾の要素を削除する方法は、次の3つです。

  • pop_back()を使う方法
    vect.pop_back();
  • erase()を使う方法
    vect.erase(vect.end() - 1);
  • resize()を使う方法
    vect.resize(vect.size() – 1);

コメント

タイトルとURLをコピーしました