名前空間
変種
操作

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

提供: cppreference.com
< cpp‎ | container‎ | list
 
 
 
 
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]
close