void remove(const T& value); // (1) C++11
size_type remove(const T& value); // (1) C++20
概要
指定された値の要素を全て削除する。
効果
コンテナの全ての要素に対する各イテレータi
において、*i == value
による比較がtrue
となる要素を削除する。
削除された要素に対するイテレータおよび参照は無効となる。
戻り値
- C++11 : なし
- C++20 : 削除された要素数を返す
例外
型T
の等値比較が例外を投げなければ、この関数は例外を投げない
計算量
ちょうどdistance(begin(), end())
回だけ等値比較を行う
例
#include <iostream>
#include <forward_list>
int main()
{
std::forward_list<int> ls = {3, 1, 4, 1};
ls.remove(1); // 値1の要素を全て削除
for (int x : ls) {
std::cout << x << std::endl;
}
}
出力
3
4
バージョン
言語
- C++11
処理系
- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2010 ✅, 2012 ✅, 2013 ✅, 2015 ✅, 2017 ✅