名前空間
変種
操作

std::forward_list<T,Allocator>::erase_after

From cppreference.com
 
 
 
 
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) firstlast の距離に対して線形。

[編集]

#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

[編集] 関連項目

内容をクリアする
(公開メンバ関数) [編集]
English 日本語 中文(简体) 中文(繁體)