最終更新日時: 2026年02月17日 23時22分33秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<forward_list>

# std::forward_list::cbefore_begin(C++11)

    const_iterator cbefore_begin() const noexcept;           // (1) C++11
    constexpr const_iterator cbefore_begin() const noexcept; // (1) C++26

## 概要

先頭要素の前を指す読み取り専用イテレータを取得する。

この関数は、`insert_after()`メンバ関数で先頭に要素を挿入するために使用できる。

## 戻り値

先頭要素の前を指す読み取り専用イテレータを返す。

## 例外

投げない

## 備考

この関数によって返されるイテレータは、以下の特徴を持つ：

- 間接参照できない
- インクリメントすると`cbegin()`と等値になる
- `cend()`と等値にはならない

## 例

    #include <iostream>
    #include <forward_list>
    #include <algorithm>

    int main()
    {
      std::forward_list<int> ls;

      ls.push_front(3);
      ls.insert_after(ls.cbefore_begin(), 1); // 先頭に挿入

      std::for_each(ls.cbegin(), ls.cend(), [](int x) {
        std::cout << x << std::endl;
      });
    }

### 出力

    1
    3

## バージョン

### 言語

- C++11

### 処理系

- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: 2010 ✅, 2012 ✅, 2013 ✅, 2015 ✅, 2017 ✅

## 参照

- P3372R3 constexpr containers and adaptors