
- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
C++ Array Library - cbegin() Function
Description
The C++ function std::array::cbegin() returns a constant iterator which points to the start of the array. Iterator returned by this method can be used to iterate the container but cannot be used to modify array contents.
Declaration
Following is the declaration for std::array::cbegin() function form std::array header.
const_iterator cbegin() const noexcept;
Parameters
None
Return Value
Returns a constat iterator pointing to the begining of the array.
Exceptions
This member function never throws exception.
Time complexity
Constant i.e. O(1)
Example
The following example shows the usage of std::array::cbegin() function.
#include <iostream> #include <array> using namespace std; int main(void) { array<int, 5> arr = {1, 2, 3, 4, 5}; auto it = arr.cbegin(); /* iterate whole array */ while (it < arr.end()) { cout << *it << " "; ++it; } cout << endl; return 0; }
Let us compile and run the above program, this will produce the following result −
1 2 3 4 5
As this method returns const iterator, we can not use this iterator to modify the array contents. Any attempt to modify array element will report compilation error.
#include <iostream> #include <array> using namespace std; int main(void) { array<int, 5> arr = {1, 2, 3, 4, 5}; auto it = arr.cbegin(); /* returns a constant iterator */ /* ERROR: attemp to modify value will report compilation error */ *it = 100; return 0; }
Above program's compilation will fail with following error message.
cbegin.cpp: In function ‘int main()’: cbegin.cpp:12:8: error: assignment of read-only location ‘* it’ *it = 100; ^