Traduzioni di questa pagina?:

at

Sintassi:

    #include <vector>
    T& at( size_type loc );
    const T& at( size_type loc ) const;

La funzione at() ritorna una reference all'elemento del vettore alla posizione espressa dall'indice loc. La funzione at() è più sicura dell'operatore [] perchè genera un eccezione se il valore dell'argomento è al di fuori del limite di capacità del vettore.

Per esempio, osservate il codice seguente:

   vector<int> v( 5, 1 );
   for( int i = 0; i < 10; i++ ) {
     cout << "Element " << i << " is " << v[i] << endl;
   }

Questo codice fuoriesce dal limite del vettore e produrrebbe risultati potenzialmente pericolosi. Il codice seguente è molto più robusto.

   vector<int> v( 5, 1 );
   for( int i = 0; i < 10; i++ ) {
     cout << "Element " << i << " is " << v.at(i) << endl;
   }

Invece di tentare di accedere a posizioni in memoria che conterrebbero valori senza senso nel contesto di esecuzione di queste linee, la funzione at() si accorge che sta valicando il limite del vettore e solleva un eccezione di out_of_range

Argomenti collegati: [] operator