C++ Array Library - cbegin() Function


Advertisements

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;
        ^
array.htm
Advertisements