C ++ Array Library - Funzione cbegin ()
Descrizione
La funzione C ++ std::array::cbegin()restituisce un iteratore costante che punta all'inizio della matrice. L'iteratore restituito da questo metodo può essere utilizzato per iterare il contenitore ma non può essere utilizzato per modificare il contenuto dell'array.
Dichiarazione
Di seguito è riportata la dichiarazione per la funzione std :: array :: cbegin () nel formato std :: array header.
const_iterator cbegin() const noexcept;
Parametri
Nessuna
Valore di ritorno
Restituisce un iteratore constat che punta all'inizio della matrice.
Eccezioni
Questa funzione membro non genera mai eccezioni.
Complessità temporale
Costante cioè O (1)
Esempio
L'esempio seguente mostra l'utilizzo della funzione std :: array :: cbegin ().
#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;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
1 2 3 4 5
Poiché questo metodo restituisce const iterator, non possiamo utilizzare questo iteratore per modificare il contenuto dell'array. Qualsiasi tentativo di modificare l'elemento dell'array riporterà un errore di compilazione.
#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;
}
La compilazione del programma precedente fallirà con il seguente messaggio di errore.
cbegin.cpp: In function ‘int main()’:
cbegin.cpp:12:8: error: assignment of read-only location ‘* it’
*it = 100;
^