Namespaces
Variants

std::set<Key,Compare,Allocator>:: begin, std::set<Key,Compare,Allocator>:: cbegin

From cppreference.net

iterator begin ( ) ;
(1) (C++11以降 noexcept)
(C++26以降 constexpr)
const_iterator begin ( ) const ;
(2) (C++11以降 noexcept)
(C++26以降 constexpr)
const_iterator cbegin ( ) const noexcept ;
(3) (C++11以降)
(C++26以降 constexpr)

* this の最初の要素へのイテレータを返します。

* this が空の場合、返されるイテレータは end() と等しくなります。

range-begin-end.svg

目次

戻り値

最初の要素へのイテレータ。

計算量

定数。

注記

iterator const_iterator の両方が定数イテレータであるため(実際には同じ型である可能性もあります)、これらのメンバ関数によって返されるイテレータを通じてコンテナの要素を変更することはできません。

libc++は cbegin() をC++98モードにバックポートします。

#include <algorithm>
#include <iostream>
#include <set>
int main()
{
    std::set<int> set{3, 1, 4, 1, 5, 9, 2, 6, 5};
    std::for_each(set.cbegin(), set.cend(), [](int x)
    {
        std::cout << x << ' ';
    });
    std::cout << '\n';
}

出力:

1 2 3 4 5 6 9

関連項目

(C++11)
終端へのイテレータを返す
(public member function)
(C++11) (C++14)
コンテナまたは配列の先頭へのイテレータを返す
(function template)