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 版本都不會修改容器)。
呼叫該函式不訪問任何包含的元素,但返回的迭代器可用於訪問或修改元素。併發訪問或修改不同元素是安全的。

異常安全

無異常保證:此成員函式從不丟擲異常。
還可以保證返回的迭代器的複製構造或賦值永遠不會引發異常。

另見