std::experimental::optional<T>:: value
From cppreference.net
<
cpp
|
experimental
|
optional
|
constexpr
T
&
value
(
)
&
;
constexpr const T & value ( ) const & ; |
(1) | (TS de fundamentos de biblioteca) |
|
constexpr
T
&&
value
(
)
&&
;
constexpr const T && value ( ) const && ; |
(2) | (TS de fundamentos de biblioteca) |
Devuelve el valor contenido.
1)
Equivalente a
return
bool
(
*
this
)
?
*
val
:
throw
bad_optional_access
(
)
;
.
2)
Equivalente a
return
bool
(
*
this
)
?
std
::
move
(
*
val
)
:
throw
bad_optional_access
(
)
;
.
Contenidos |
Parámetros
(ninguno)
Valor de retorno
Una referencia al valor contenido.
Excepciones
std::experimental::bad_optional_access si * this no contiene un valor.
Notas
El operador de desreferencia
operator*()
no verifica si este opcional contiene un valor, lo que puede ser más eficiente que
value()
.
Ejemplo
Ejecutar este código
#include <experimental/optional> #include <iostream> int main() { std::experimental::optional<int> opt = {}; try { int n = opt.value(); } catch (const std::logic_error& e) { std::cout << e.what() << '\n'; } }
Salida posible:
optional<T>::value: not engaged
Véase también
|
devuelve el valor contenido si está disponible, otro valor en caso contrario
(función miembro pública) |
|
|
accede al valor contenido
(función miembro pública) |
|
|
(library fundamentals TS)
|
excepción que indica acceso verificado a un optional que no contiene un valor
(clase) |