std::forward_list<T,Allocator>:: erase_after
From cppreference.net
<
cpp
|
container
|
forward list
|
iterator erase_after
(
const_iterator pos
)
;
|
(1) |
(C++11以降)
(C++26以降constexpr) |
|
iterator erase_after
(
const_iterator first, const_iterator last
)
;
|
(2) |
(C++11以降)
(C++26以降constexpr) |
指定された要素をコンテナから削除します。
1)
pos
の次の要素を削除します。
pos
に続くイテレータがデリファレンス可能でない場合、動作は未定義です。
2)
範囲
(
first
,
last
)
内の要素を削除します。
範囲
(
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()); // エラー: erase()関数は存在しません l.erase_after(l.before_begin()); // 最初の要素を削除 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
関連項目
|
内容をクリアする
(公開メンバ関数) |