std::array::begin, std::array::cbegin
De cppreference.com
<tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
<tbody class="t-dcl-rev ">
</tbody><tbody>
</tbody>
iterator begin() noexcept; |
(hasta C++17) | |
constexpr iterator begin() noexcept; |
(desde C++17) | |
const_iterator begin() const noexcept; |
(hasta C++17) | |
constexpr const_iterator begin() const noexcept; |
(desde C++17) | |
const_iterator cbegin() const noexcept; |
(hasta C++17) | |
constexpr const_iterator cbegin() const noexcept; |
(desde C++17) | |
Devuelve un iterador al primer elemento del array.
Si el array está vacío, el iterador devuelto será igual a end().
Parámetros
(Ninguno)
Valor de retorno
Iterador al primer elemento.
Complejidad
Constante.
Ejemplo
Ejecuta este código
#include <array>
#include <iostream>
#include <algorithm>
#include <iomanip>
int main()
{
std::cout << std::boolalpha;
std::array<int, 0> vacio; // array vacío
std::cout << "1) "
<< (vacio.begin() == vacio.end()) << ' ' // verdadero
<< (vacio.cbegin() == vacio.cend()) << '\n'; // verdadero
// *(vacio.begin()) = 42; // => comportamiento indefinido en tiempo de ejecución
std::array<int, 4> numeros{5, 2, 3, 4};
std::cout << "2) "
<< (numeros.begin() == numeros.end()) << ' ' // falso
<< (numeros.cbegin() == numeros.cend()) << '\n' // falso
<< "3) "
<< *(numeros.begin()) << ' ' // 5
<< *(numeros.cbegin()) << '\n'; // 5
*numeros.begin() = 1;
std::cout << "4) " << *(numeros.begin()) << '\n'; // 1
// *(numeros.cbegin()) = 42; // ERROR en tiempo de compilación:
// variable de solo lectura no es asignable
// imprimir todos los elementos
std::cout << "5) ";
std::for_each(numeros.cbegin(), numeros.cend(), [](int x) {
std::cout << x << ' ';
});
std::cout << '\n';
constexpr std::array constantes{'A', 'B', 'C'};
static_assert(constantes.begin() != constantes.end()); // de acuerdo
static_assert(constantes.cbegin() != constantes.cend()); // de acuerdo
static_assert(*constantes.begin() == 'A'); // de acuerdo
static_assert(*constantes.cbegin() == 'A'); // de acuerdo
// *constantes.begin() = 'Z'; // ERROR en tiempo de compilación:
// variable de solo lectura no es asignable
}
Salida:
1) true true
2) false false
3) 5 5
4) 1
5) 1 2 3 4
Véase también
(C++11) |
Devuelve un iterador al final. (función miembro pública) |