std::optional<T>::begin
De es.cppreference.net
constexpr iterator begin() noexcept;
|
(desde C++26) | |
constexpr const_iterator begin() const noexcept;
|
(desde C++26) | |
Si *this contiene un valor, devuelve un iterador al valor contenido. En caso contrario, devuelve un valor de iterador de fin de secuencia.
Valor de retorno
Iterador al valor contenido si has_value ( ) es true . De lo contrario, un iterador pasado-el-final.
Complejidad
Constante.
Notas
| Macro de prueba de características | Valor | Estándar | Característica |
|---|---|---|---|
__cpp_lib_optional_range_support
|
202406L
|
(C++26) |
Soporte de rangos para
std::optional
|
Ejemplo
Ejecutar este código
#include <optional> #include <print> #include <vector> int main() { constexpr std::optional<int> none{std::nullopt}; constexpr std::optional<int> some{42}; static_assert(none.begin() == none.end()); static_assert(some.begin() != some.end()); // soporte para bucle for basado en rangos for (int i : none) std::println("'none' tiene un valor de {}", i); for (int i : some) std::println("'some' tiene un valor de {}", i); std::optional<std::vector<int>> many({0, 1, 2}); for (const auto& v : many) std::println("'many' tiene un valor de {}", v); }
Salida:
'some' tiene un valor de 42 'many' tiene un valor de [0, 1, 2]
Véase también
|
(C++26)
|
devuelve un iterador al final
(función miembro pública) |