std::deque<T,Allocator>::begin, std::deque<T,Allocator>::cbegin - cppreference.com

From cppreference.com

iteratorbegin(); (1) (noexcept since C++11)const_iteratorbegin()const; (2) (noexcept since C++11)const_iteratorcbegin()constnoexcept; (3) (since C++11)Returns an iterator to the first element of the deque.

If the deque is empty, the returned iterator will be equal to

end()

.

Return value

Iterator to the first element.

Complexity

Constant.

Notes

libc++ backports cbegin() to C++98 mode.

Example

Run this code

#include<algorithm>#include<cassert>#include<iostream>#include<numeric>#include<string>#include<deque>intmain(){std::deque<int>nums{1,2,4,8,16};std::deque<std::string>fruits{"orange","apple","raspberry"};std::deque<char>empty;// Print deque nums.std::for_each(nums.cbegin(),nums.cend(),[](constintn){std::cout<<n<<' ';});std::cout<<'\n';// Sum all integers in the deque nums, printing only the result.std::cout<<"Sum of nums: "<<std::accumulate(nums.cbegin(),nums.cend(),0)<<'\n';// Print the first fruit in the deque fruits, checking if there is any.if(!fruits.empty())std::cout<<"First fruit: "<<*fruits.cbegin()<<'\n';if(empty.cbegin()==empty.cend())std::cout<<"deque ‘empty’ is indeed empty.\n";// Modify the first element in nums.*nums.begin()=32;assert(*nums.cbegin()==32);}Output:

1 2 4 8 16 Sum of nums: 31 First fruit: orange deque ‘empty’ is indeed empty. See also

(C++11)

returns an iterator to the end
(public member function)

[edit]

(C++11)(C++14)

returns an iterator to the beginning of a container or array
(function template)

[edit]