std::forward_list<T,Allocator>::erase_after
< 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 <iterator> #include <iostream> int main() { std::forward_list<int> l = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; // l.erase( l.begin() ); // 错误:无要擦除的元素 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
参阅
清除内容 (公开成员函数) |