at
De cppreference.com
Syntax:
#include <vector> T& at( size_type loc ); const T& at( size_type loc ) const;
La función at() retorna una referencia al elemento dentro del vector en el índice loc. La función at() es más segura que el operador[], porque no permite hacer referencia a ningún ítem fuera de los límites del vector.
Por ejemplo, considerar el siguiente código:
vector<int> v( 5, 1 ); for( int i = 0; i < 10; i++ ) { cout << "El elemento " << i << " es " << v[i] << endl; }
Este código sobrepasa el fin del vector, produciendo efectos potencialmente peligrosos. El siguiente código sería mucho más seguro:
vector<int> v( 5, 1 ); for( int i = 0; i < 10; i++ ) { cout << "El elemento " << i << " es " << v.at(i) << endl; }
En vez de intentar leer basura de la memoria, la función at() se dará cuenta de que está por sobrepasar el vector, y arrojará una excepción (out_of_range).
Temas relacionados: [] operator