std::dynamic_extent
De cppreference.com
Definido en el archivo de encabezado <span>
|
||
inline constexpr std::size_t dynamic_extent = std::numeric_limits<std::size_t>::max(); |
(desde C++20) | |
std::dynamic_extent
es una constante de tipo std::size_t que se usa para diferenciar un std::span de alcance dinámico de uno estático.
[editar] Nota
Ya que std::size_t
es un tipo sin signo, una definición equivalente es:
inline constexpr std::size_t dynamic_extent = -1;
Véase conversiones de enteros.
[editar] Ejemplo
Ejecuta este código
#include <array> #include <cassert> #include <cstddef> #include <iostream> #include <span> #include <string_view> #include <vector> int main() { auto imprimir = [](std::string_view const nombre, std::size_t ex) { std::cout << nombre << ", "; if (ex == std::dynamic_extent) { std::cout << "alcance dinámico\n"; } else { std::cout << "alcance estático = " << ex << '\n'; } }; int a[]{1,2,3,4,5}; std::span lapso1{a}; imprimir("lapso1", lapso1.extent); std::span<int, std::dynamic_extent> lapso2{a}; imprimir("lapso2", lapso2.extent); std::array ar{1,2,3,4,5}; std::span lapso3{ar}; imprimir("lapso3", lapso3.extent); std::vector v{1,2,3,4,5}; std::span lapso4{v}; imprimir("lapso4", lapso4.extent); }
Salida:
lapso1, alcance estático = 5 lapso2, alcance dinámico lapso3, alcance estático = 5 lapso4, alcance dinámico
[editar] Véase también
(C++20) |
Una vista que no es dueña sobre una secuencia contigua de objetos. (plantilla de clase) |