std::list::remove

提供: C++入門
移動: 案内検索
スポンサーリンク

std::list::remove とは、std::listの特定の要素を削除する機能を提供します。

読み方

std::list::remove
えすてぃーでぃー りすと りむーぶ

概要

コンテナから指定された値と一致するすべての要素を削除します。

void remove (const value_type& val);

それらのオブジェクトのデストラクタは呼び出され、削除されたエレメント分、コンテナのサイズが小さくなります。 std::list::eraceでは、ポジション(イテレータを使ったとき)によって要素を削除します。この関数(std::list::remove)では、値によって要素を削除します。

この関数と似た std::list::remove_if があります。remove_ifでは、要素を削除するための比較条件を指定できます。

list_remove1.cpp の例

単純に整数のリストから任意の数を削除する例です。

ソースコード list_remove1.cpp

/*
 * list1.cpp
 * Copyright (C) 2014 kaoru <kaoru@bsd>
 */
#include <iostream>
#include <list>
using namespace std;
 
int
main(int argc, char const* argv[])
{
        list<int> list1 = { 1,2,3,1,2,3,2,8,9 };
 
        list1.remove(2);
 
        for (auto x: list1) {
                cout << x << " ";
        }
        cout << endl;
        return 0;
}

コンパイル

g++49 -std=c++11 -I/usr/local/lib/gcc49/include/c++/ \
-Wl,-rpath=/usr/local/lib/gcc49  list_remove1.cpp -o list_remove1

実行例

% ./list_remove1
1 3 1 3 8 9

関連項目




スポンサーリンク