std::forward_list<T,Allocator>::erase_after
来自cppreference.com
| |
(1) | (C++11 起) |
| |
(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()); // 错误:没有名为 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
参阅
| 清除内容 (公开成员函数) |