◐ Shell
clean mode source ↗

std::make_optional - cppreference.com

De cppreference.com

Definido en el archivo de encabezado <optional>

template< class T > constexpr std::optional<std::decay_t<T>> make_optional( T&& value );

(1) (desde C++17)

template< class T, class... Args > constexpr std::optional<T> make_optional( Args&&... args );

(2) (desde C++17)

template< class T, class U, class... Args > constexpr std::optional<T> make_optional( std::initializer_list<U> il, Args&&... args );

(3) (desde C++17)

1) Crea un objeto optional a partir de value. Efectivamente llama a std::optional<std::decay_t<T>>(std::forward<T>(value))

2) Crea un objeto optional construido en el lugar a partir de args.... Equivalente a return std::optional<T>(std::in_place, std::forward<Args>(args)...);.

3) Crea un objeto optional construido en el lugar a partir de il y args.... Equivalente a return std::optional<T>(std::in_place, il, std::forward<Args>(args)...);.

Parámetros

value - El valor con el cual construir el objeto optional.
il, args - Los argumentos a pasar al constructor de T.

Valor de retorno

El objeto optional construido.

Excepciones

Lanza cualquier excepción lanzada por el constructor de T.

Notas

T necesita no ser movible para las sobrecargas (2-3) debido a la elisión de copia garantizada.

Véase también