命名空间
变体
操作

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

来自 cppreference.com
< cpp‎ | 容器‎ | 正向列表
 
 
 
 
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

[编辑] 参见

清除内容
(公共成员函数) [编辑]