Biblioteca de matrices C ++ - función at ()

Descripción

La función C ++ std::array::at() devuelve una referencia al elemento presente en la ubicación N en un contenedor de matriz dado.

Declaración

A continuación se muestra la declaración de la función std :: array :: at () del encabezado std :: array.

reference at(size_type n);
cont_referece at(size_t n) const;

Parámetros

N - índice de un elemento de la matriz.

Valor devuelto

Devuelve un elemento presente en el índice N en una matriz dada si N es un índice válido, de lo contrario arroja out_of_range excepción.

Si el objeto de matriz es un método calificado const, devuelve una referencia constante; de ​​lo contrario, devuelve una referencia.

Excepciones

Esta función miembro arroja out_of_range Excepción si el valor de N no es un índice de matriz válido.

Complejidad del tiempo

Constante es decir O (1)

Ejemplo

En el siguiente ejemplo, el paso 1 imprime el contenido de la matriz sin excepción. El paso 2 muestra el manejo de excepciones usando el bloque try-catch.

#include <iostream>
#include <array>
#include <stdexcept>

using namespace std;

int main(void) {
   array<int, 5> arr = {10, 20, 30, 40, 50};
   size_t i;

   /* print array contents */
   for (i = 0; i < 5; ++i)
      cout << arr.at(i) << " ";
   cout << endl;

   /* generate out_of_range exception. */
   try {
      arr.at(10);
   } catch(out_of_range e) {
      cout << "out_of_range expcepiton caught for " << e.what() << endl;
   }

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

10 20 30 40 50 
out_of_range expcepiton caught for array::at: __n (which is 10) >= _Nm (which is 5)