Bibliothèque de tableaux C ++ - Fonction cend ()

La description

La fonction C ++ std::array::cend()renvoie un itérateur constant qui pointe vers l'élément de fin de tableau. Un itérateur retourné par cette méthode peut être utilisé pour itérer le contenu du tableau mais ne peut pas être utilisé pour modifier le contenu du tableau, même si l'objet tableau lui-même n'est pas constant.

Déclaration

Voici la déclaration de l'en-tête std :: array :: cend () de la fonction std :: array :: cend ().

const_iterator cend() const noexcept;

Paramètres

Aucun

Valeur de retour

Renvoie un itérateur constant pointant vers l'élément de fin du tableau. Il s'agit d'un emplacement réservé et ne stocke aucune donnée réelle. Donc, déréférencer cela entraînera un comportement indéfini.

Des exceptions

Cette fonction membre ne lève jamais d'exception.

Complexité temporelle

Constante ie O (1)

Exemple

Essayons de modifier la valeur vers laquelle pointe l'itérateur const.

#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;
}

Le programme ci-dessus produit le message d'erreur suivant.

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