cbegin

Retrieves a const iterator to the first element in a specified container.

template<class Container>
    auto cbegin(const Container& cont) 
        -> decltype(cont.begin());

Parameters

  • cont
    A container or initializer_list.

Return Value

A constant cont.begin().

Remarks

This function works with all STL containers and with initializer_list.

You can use this member function in place of the begin() template function to guarantee that the return value is const_iterator. Typically, it's used in conjunction with the auto type deduction keyword, as shown in the following example. In the example, consider Container to be a modifiable (non-const) container or initializer_list of any kind that supports begin() and cbegin().

auto i1 = Container.begin();  // i1 is Container<T>::iterator
auto i2 = Container.cbegin(); // i2 is Container<T>::const_iterator

Requirements

Header: <iterator>

Namespace: std

See Also

Reference

<iterator>

begin

cend

end