close
Espacios de nombres
Variantes

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

De cppreference.com
 
 
 
 
<tbody> </tbody>
template< std::size_t Count > constexpr std::span<element_type, Count> last() const;
constexpr std::span<element_type, std::dynamic_extent> last( size_type Count ) const;

Obtiene un lapso que es una vista sobre los últimos Count elementos de este lapso. El programa está mal formado si Count > Extent. El comportamiento no está definido si Count > size().

Valor de retorno

Un lapso r que es una vista sobre los últimos Count elementos de *this, tal que r.data() == this->data() + (this->size() - Count) && r.size() == Count.

Ejemplo

#include <iostream>
#include <span>
#include <string_view>

auto imprimir = [](std::string_view const titulo, auto const& contenedor) {
    std::cout << titulo << "[" << std::size(contenedor) << "]{ ";
    for (auto const& elem : contenedor)
        std::cout << elem << ", ";
    std::cout << "};\n";
};

void run(std::span<const int> lapso)
{
    imprimir("lapso: ", lapso);

    std::span<const int, 3> ultimo = lapso.last<3>();
    imprimir("lapso.last<3>(): ", ultimo);

    std::span<const int, std::dynamic_extent> ultimo_dinamico = lapso.last(2);
    imprimir("lapso.last(2):   ", ultimo_dinamico);
}

int main()
{
    int a[8]{ 1, 2, 3, 4, 5, 6, 7, 8, };
    imprimir("int  a", a);
    run(a);
}

Salida:

int  a[8]{ 1, 2, 3, 4, 5, 6, 7, 8, };
lapso: [8]{ 1, 2, 3, 4, 5, 6, 7, 8, };
lapso.last<3>(): [3]{ 6, 7, 8, };
lapso.last(2):   [2]{ 7, 8, };

Véase también

Obtiene un sublapso que consiste en los primeros N elementos de la secuencia.
(función miembro pública) [editar]
Obtiene un sublapso.
(función miembro pública) [editar]