array::operador[ ] en C++ STL

Las clases de arreglos son generalmente más eficientes, livianas y confiables que los arreglos de estilo C. La introducción de la clase de array de C++ 11 ha ofrecido una mejor alternativa para las arrays de estilo C.

array::operador[]

Este operador se usa para hacer referencia al elemento presente en la posición dada dentro del operador. Es similar a la función at(), la única diferencia es que la función at() arroja una excepción fuera de rango cuando la posición no está dentro de los límites del tamaño de la array, mientras que este operador provoca un comportamiento indefinido .

Sintaxis: 

arrayname[position]
Parameters :
Position of the element to be fetched.
Returns :
Direct reference to the element at the given position.

Ejemplos: 

Input :  myarray = {1, 2, 3, 4, 5}
         myarray[2]
Output : 3

Input :  myarray = {1, 2, 3, 4, 5}
         myarray[4]
Output : 5

Errores y excepciones
1. Si la posición no está presente en la array, muestra un comportamiento indefinido. 
2. Tiene una garantía de tiro sin excepción en caso contrario.

C++

// CPP program to illustrate
// Implementation of [] operator
#include <iostream>
#include <array>
using namespace std;
 
int main()
{
    array<int,5> myarray{ 1, 2, 3, 4, 5 };
    cout << myarray[4];
    return 0;
}

Producción: 

5

Aplicación 
Dada una array de enteros, imprima todos los enteros presentes en posiciones pares. 

Input  :1, 2, 3, 4, 5
Output :1 3 5
Explanation - 1, 3 and 5 are at position 0,2,4 which are even

Algoritmo 
1. Ejecute un ciclo hasta el tamaño de la array. 
2. Compruebe si la posición es divisible por 2, en caso afirmativo, imprima el elemento en esa posición.

C++

// CPP program to illustrate
// Application of [] operator
#include <iostream>
#include <array>
using namespace std;
 
int main()
{
    array<int,5> myarray{ 1, 2, 3, 4, 5 };
    for(int i=0; i<myarray.size(); ++i)
    {
        if(i%2==0){
            cout<<myarray[i];
            cout<<" ";
        }
    }
    return 0;
}

Producción: 

1 3 5

Publicación traducida automáticamente

Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *