array::begin() y array::end() 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::comienzo()

La función begin() se usa para devolver un iterador que apunta al primer elemento del contenedor de la array. La función begin() devuelve un iterador bidireccional al primer elemento del contenedor.
Sintaxis: 

arrayname.begin()
Parameters :
No parameters are passed.

Returns :
This function returns a bidirectional
iterator pointing to the first element.

Ejemplos:  

Input  : myarray{1, 2, 3, 4, 5};
Output : returns an iterator to the element 1

Input  : myarray{8, 7};         
Output : returns an iterator to the element 8

Errores y Excepciones
1. No tiene garantía de lanzamiento de excepciones. 
2. Muestra error cuando se pasa un parámetro. 

CPP

// CPP program to illustrate
// Implementation of begin() function
#include <array>
#include <iostream>
using namespace std;
 
int main()
{
    // declaration of array container
    array<int, 5> myarray{ 1, 2, 3, 4, 5 };
 
    // using begin() to print array
    for (auto it = myarray.begin();
         it != myarray.end(); ++it)
        cout << ' ' << *it;
 
    return 0;
}

Producción: 

1 2 3 4 5
array::fin()

end() devuelve un iterador que apunta al elemento más allá del final en el contenedor de la array. 
Sintaxis:  

arrayname.end()
Parameters :
No parameters are passed.

Returns :
This function returns a bidirectional
iterator pointing to the past-the-end element.

Ejemplos:  

Input  : myarray{1, 2, 3, 4, 5};
Output : returns an iterator to the element next to 5 i.e,. some garbage value

Input  : myarray{8, 7};
Output : returns an iterator to the element next to 7 i.e,. some garbage value

Errores y Excepciones
1. No tiene garantía de lanzamiento de excepciones. 
2. Muestra error cuando se pasa un parámetro. 

CPP

// CPP program to illustrate
// Implementation of end() function
#include <array>
#include <iostream>
using namespace std;
 
int main()
{
    // declaration of array container
    array<int, 5> myarray{ 1, 2, 3, 4, 5 };
 
    // using end() to print array
    for (auto it = myarray.begin();
         it != myarray.end(); ++it)
        cout << ' ' << *it;
       
      auto it = myarray.end();
      cout << "\n myarray.end(): " << *it << " [some garbage value]";
    return 0;
}

Producción: 

1 2 3 4 5
myarray.end(): 0 [some garbage value]

Veamos las diferencias en forma tabular -:

  array::comienzo()  array::fin() 
1. Se utiliza para devolver un iterador que apunta al primer elemento del contenedor de la array. Se utiliza para devolver un iterador que apunta al elemento más allá del final en el contenedor de la array.
2. Su sintaxis es -:
iterator begin(

Su sintaxis es -:

final del iterador()

3. No toma ningún parámetro. No toma ningún parámetro.
4. Su complejidad es constante. Su validez de iterador no cambia.
5. Su validez de iterador no cambia. Su complejidad es constante.

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 *