std::forward_list<T,Allocator>::erase_after
From cppreference.com
< cpp | container | forward list
| iterator erase_after( const_iterator pos ); |
(1) | (C++11以降) |
| iterator erase_after( const_iterator first, const_iterator last ); |
(2) | (C++11以降) |
コンテナから指定された要素を削除します。
1) pos の次の要素を削除します。
2) first の次の要素から last の直前までの要素を削除します。
目次 |
[編集] パラメータ
| pos | - | 削除する要素の前の要素へのイテレータ |
| first, last | - | 削除する要素の範囲を定義するイテレータのペア |
[編集] 戻り値
1) 削除された要素の次の要素へのイテレータ。そのような要素が存在しない場合は end()。
2) last
[編集] 計算量
1) 定数時間。
2) first と last の距離に対して線形。
[編集] 例
このコードを実行
#include <forward_list> #include <iostream> #include <iterator> int main() { std::forward_list<int> l = {1, 2, 3, 4, 5, 6, 7, 8, 9}; // l.erase(l.begin()); // Error: no function erase() l.erase_after(l.before_begin()); // Removes first element for (auto n : l) std::cout << n << ' '; std::cout << '\n'; auto fi = std::next(l.begin()); auto la = std::next(fi, 3); l.erase_after(fi, la); for (auto n : l) std::cout << n << ' '; std::cout << '\n'; }
出力
2 3 4 5 6 7 8 9 2 3 6 7 8 9
[編集] 関連項目
| 内容をクリアする (公開メンバ関数) |