Biblioteca de matrices C ++ - función cend ()

Descripción

La función C ++ std::array::cend()devuelve un iterador constante que apunta al elemento pasado-fin de la matriz. Un iterador devuelto por este método se puede usar para iterar el contenido de la matriz, pero no se puede usar para modificar el contenido de la matriz, incluso si el objeto de la matriz en sí no es constante.

Declaración

A continuación se muestra la declaración de la función std :: array :: cend () del encabezado std :: array.

const_iterator cend() const noexcept;

Parámetros

Ninguna

Valor devuelto

Devuelve un iterador constante que apunta al elemento pasado-fin de la matriz. Esta es una ubicación de marcador de posición y no almacena ningún dato real. Por lo tanto, eliminar la referencia a esto provocará un comportamiento indefinido.

Excepciones

Esta función miembro nunca lanza una excepción.

Complejidad del tiempo

Constante es decir O (1)

Ejemplo

Intentemos modificar el valor al que apunta el iterador constante.

#include <iostream>
#include <array>

using namespace std;

int main(void) {

   array<int, 5> arr = {10, 20, 30, 40, 50};
   auto it = arr.cend(); /* iterator pointing to past−the−end of array */

   /* ERROR: attempt to modification will cause compilation error */
   *it = 5;

   return 0;
}

El programa anterior produce el siguiente mensaje de error.

cend.cpp: In function ‘int main()’:
cend.cpp:12:8: error: assignment of read-only location ‘* it’
   *it = 5;
      ^