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
Ejecuta este código
#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) | |
| Obtiene un sublapso. (función miembro pública) |