• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <list>

    std::list::remove

    void remove(const T& value);      // (1) C++03
    size_type remove(const T& value); // (1) C++20
    

    概要

    指定された値の要素を全て削除する。

    効果

    コンテナの全ての要素に対する各イテレータiにおいて、*i == valueによる比較がtrueとなる要素を削除する。
    削除された要素に対するイテレータおよび参照は無効となる。

    戻り値

    • C++03 : なし
    • C++20 : 削除された要素数を返す

    例外

    Tの等値比較が例外を投げなければ、この関数は例外を投げない

    計算量

    ちょうどsize()回だけ等値比較を行う

    #include <iostream>
    #include <list>
    
    int main()
    {
      std::list<int> ls = {3, 1, 4, 1};
    
      ls.remove(1); // 値1の要素を全て削除
    
      for (int x : ls) {
        std::cout << x << std::endl;
      }
    }
    

    出力

    3
    4
    

    参照