(C++17) | ||||
Sequence | ||||
(C++11) | ||||
(C++26) | ||||
(C++26) | ||||
(C++11) | ||||
Associative | ||||
Unordered associative | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
(C++11) | ||||
Adaptors | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
Views | ||||
(C++20) | ||||
(C++23) | ||||
Tables | ||||
Iterator invalidation | ||||
Member function table | ||||
Non-member function table |
Member types | |||||||||||||||||||||||||||
Member functions | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
Non-member functions | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
Helper classes | |||||||||||||||||||||||||||
Deduction guides(C++17) |
iterator begin()noexcept; | (1) | (since C++11) (constexpr since C++17) |
const_iterator begin()constnoexcept; | (2) | (since C++11) (constexpr since C++17) |
const_iterator cbegin()constnoexcept; | (3) | (since C++11) (constexpr since C++17) |
Returns an iterator to the first element of*this.
If*this is empty, the returned iterator will be equal toend().
Contents |
Iterator to the first element.
Constant.
#include <algorithm>#include <array>#include <iomanip>#include <iostream> int main(){std::cout<<std::boolalpha; std::array<int,0> empty;std::cout<<"1) "<<(empty.begin()== empty.end())<<' '// true<<(empty.cbegin()== empty.cend())<<'\n';// true// *(empty.begin()) = 42; // => undefined behavior at run-time std::array<int,4> numbers{5,2,3,4};std::cout<<"2) "<<(numbers.begin()== numbers.end())<<' '// false<<(numbers.cbegin()== numbers.cend())<<'\n'// false<<"3) "<<*(numbers.begin())<<' '// 5<<*(numbers.cbegin())<<'\n';// 5 *numbers.begin()=1;std::cout<<"4) "<<*(numbers.begin())<<'\n';// 1// *(numbers.cbegin()) = 42; // compile-time error:// read-only variable is not assignable // print out all elementsstd::cout<<"5) ";std::for_each(numbers.cbegin(), numbers.cend(),[](int x){std::cout<< x<<' ';});std::cout<<'\n'; constexprstd::array constants{'A','B','C'}; static_assert(constants.begin()!= constants.end());// OK static_assert(constants.cbegin()!= constants.cend());// OK static_assert(*constants.begin()=='A');// OK static_assert(*constants.cbegin()=='A');// OK// *constants.begin() = 'Z'; // compile-time error:// read-only variable is not assignable}
Output:
1) true true2) false false3) 5 54) 15) 1 2 3 4
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] |