close
名前空間
変種

std::list<T,Allocator>::remove, remove_if

提供: cppreference.com
 
 
 
 
<tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev "> </tbody><tbody> </tbody>
void remove( const T& value );
(C++20未満)
size_type remove( const T& value );
(C++20以上)
template< class UnaryPredicate > void remove_if( UnaryPredicate p );
(C++20未満)
template< class UnaryPredicate > size_type remove_if( UnaryPredicate p );
(C++20以上)

特定の条件を満たすすべての要素を削除します。 最初のバージョンは value と等しいすべての要素を削除します。 2番目のバージョンは述語 ptrue を返すすべての要素を削除します。

引数

value - 削除する要素の値
p - 要素が削除されるべき場合に ​true を返す単項述語。

p(v)T 型 (およびその const 修飾された型) のすべての引数 v について、その値カテゴリにかかわらず、 bool に変換可能でなければなりません。 また、 v を変更してはなりません。 そのため、引数の型 T& は許されません。 また、 T に対してムーブがコピーと同等でなければ T も許されません。 (C++11以上) ​​

戻り値

(なし)

(C++20未満)

削除された要素の数。

(C++20以上)

計算量

コンテナのサイズに比例。

#include <list>
#include <iostream>

int main()
{
    std::list<int> l = { 1,100,2,3,10,1,11,-1,12 };

    l.remove(1); // remove both elements equal to 1
    l.remove_if([](int n){ return n > 10; }); // remove all elements greater than 10

    for (int n : l) {
        std::cout << n << ' '; 
    }
    std::cout << '\n';
}

出力:

2 3 10 -1

関連項目

一定の基準を満たす要素を削除します
(関数テンプレート) [edit]