C ++ Array Library - Funzione cend ()

Descrizione

La funzione C ++ std::array::cend()restituisce un iteratore costante che punta all'elemento dell'estremità passata dell'array. Un iteratore restituito da questo metodo può essere utilizzato per iterare il contenuto dell'array ma non può essere utilizzato per modificare il contenuto dell'array, anche se l'oggetto dell'array stesso non è costante.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione std :: array :: cend () nel formato std :: array header.

const_iterator cend() const noexcept;

Parametri

Nessuna

Valore di ritorno

Restituisce un iteratore costante che punta all'elemento dell'estremità passata dell'array. Questa è una posizione segnaposto e non memorizza alcun dato effettivo. Quindi la dereferenziazione di ciò causerà un comportamento indefinito.

Eccezioni

Questa funzione membro non genera mai eccezioni.

Complessità temporale

Costante cioè O (1)

Esempio

Proviamo a modificare il valore a cui punta l'iteratore 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;
}

Il programma precedente produce il seguente messaggio di errore.

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