public member function
<forward_list>

std:: forward_list::before_begin

      iterator before_begin() noexcept;const_iterator before_begin() const noexcept;
返回指向起始位置之前的迭代器
返回一个指向容器中第一个元素之前的迭代器。

返回的迭代器不得被解引用:它应该被用作成员函数 emplace_afterinsert_aftererase_aftersplice_after 的参数,以指定序列的开始作为执行操作的位置。

参数



返回值

指向序列开始位置之前的迭代器。

如果 forward_list 对象是 const 限定的,则函数返回一个const_iterator。否则,它返回一个iterator.

成员类型iteratorconst_iterator分别为 forward iterator 类型(分别指向一个元素和一个 const 元素)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 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 版本都不会修改容器)。
调用该函数不访问任何包含的元素,但返回的迭代器可用于访问或修改元素。并发访问或修改不同元素是安全的。

异常安全

无异常保证:此成员函数从不抛出异常。
还可以保证返回的迭代器的复制构造或赋值永远不会引发异常。

另见