Espacios de nombres
Variantes
Acciones

std::optional<T>::value

De cppreference.com
< cpp‎ | utility‎ | optional
 
 
Biblioteca de servicios
 
 
constexpr T& value()&;
constexprconst T & value()const&;
(1) (desde C++17)
constexpr T&& value()&&;
constexprconst T&& value()const&&;
(2) (desde C++17)

Si *this contiene un valor, devuelve una referencia al valor contenido.

De lo contrario, lanza una excepción std::bad_optional_access.

Contenido

[editar]Parámetros

(Ninguno)

[editar]Valor de retorno

Una referencia al valor contenido.

[editar]Excepciones

std::bad_optional_access si *this no contiene un valor.

[editar]Notas

El operador de desreferencia operator*() no comprueba si este optional contiene un valor, que puede ser más eficiente que value().

[editar]Ejemplo

#include <optional>#include <iostream>int main(){std::optional<int> opt ={};   try{[[maybe_unused]]int n = opt.value();}catch(conststd::bad_optional_access& e){std::cout<< e.what()<<'\n';}try{ opt.value()=42;}catch(conststd::bad_optional_access& e){std::cout<< e.what()<<'\n';}   opt =43;std::cout<<*opt <<'\n';   opt.value()=44;std::cout<< opt.value()<<'\n';}

Salida:

bad optional access bad optional access 43 44

[editar]Véase también

Devuelve el valor contenido si está disponible, de otra manera, otro valor.
(función miembro pública)[editar]
Accede al valor contenido.
(función miembro pública)[editar]
Excepción que indica que la prueba de acceso de un opcional no contiene un valor.
(clase)[editar]
close