Namespaces
Variants

std::span<T,Extent>:: back

From cppreference.net
constexpr reference back ( ) const ;
(desde C++20)

Devuelve una referencia al último elemento en el span.

Si empty() es true , el comportamiento es indefinido.

(hasta C++26)

Si empty() es true :

  • Si la implementación está hardened , ocurre una contract violation . Además, si el manejador de violación de contrato retorna bajo semántica de evaluación "observe", el comportamiento es indefinido.
  • Si la implementación no está hardened, el comportamiento es indefinido.
(desde C++26)

Contenidos

Valor de retorno

Una referencia al elemento trasero.

Complejidad

Constante.

Notas

Para un span c , la expresión c. back ( ) es equivalente a * ( c. end ( ) - 1 ) .

Ejemplo

#include <iostream>
#include <span>
void print_forward(const std::span<const int> span)
{
    for (auto n{span.size()}; n != 0; --n)
        std::cout << span.last(n).front() << ' ';
    std::cout << '\n';
}
void print_backward(const std::span<const int> span)
{
    for (auto n{span.size()}; n != 0; --n)
        std::cout << span.first(n).back() << ' ';
    std::cout << '\n';
}
int main()
{
    constexpr int numbers[]{0, 1, 2, 3, 4};
    print_forward(numbers);
    print_backward(numbers);
}

Salida:

0 1 2 3 4
4 3 2 1 0

Véase también

acceder al primer elemento
(función miembro pública)