std::
forward_list::before_begin
公众成员函数 <forward_list>
iterator before_begin() noexcept;
const_iterator before_begin() const noexcept;
返回指向容器中第一个元素之前位置的迭代器
返回的迭代器不能解引用:它被用作成员函数emplace_after、insert_after、
erase_after或splice_after的实参,用于指定序列的开始位置作为执行操作的位置。
☲ 参数
-
none
☉ 返回值
指向序列开始之前位置的迭代器.
如果forward_list对象是const限定的,则该函数返回const_iterator对象。否则,它将返回一个iterator。
成员类型iterator和const_iterator是前向迭代器类型(分别指向一个元素和一个const元素).
☣ 示例
// forward_list::before_begin
#include <iostream>
#include <forward_list>
int main ()
{
std::forward_list<int> mylist = {20, 30, 40, 50};
mylist.insert_after ( mylist.before_begin(), 11 );
std::cout << "mylist contains:";
for ( int& x: mylist ) std::cout << ' ' << x;
std::cout << '\n';
return 0;
} |
输出:
mylist contains: 11 20 30 40 50
✥ 复杂度
常量
☣ 迭代器的有效性
不变
⇄ 数据竞争
容器被访问(const和非const版本都不会修改容器)。
该调用不访问所包含的元素,但返回的迭代器可用于访问或修改元素。
同时访问或修改不同的元素是安全的。
☂ 异常安全性
No-throw保证:这个成员函数从不抛出异常。
返回迭代器的复制构造或赋值也保证不会引发抛出。
🍄 另请参阅
forward_list::cbefore_begin |
返回指向容器中第一个元素之前位置的常量迭代器(公众成员函数) |
forward_list::begin |
返回指向forward_list容器第一个元素的迭代器(公众成员函数) |
forward_list::end |
返回一个指向容器末尾元素的下一个元素的常量迭代器(公众成员函数) |