Namespaces
Variants

std::experimental::optional<T>:: operator->, std::experimental::optional<T>:: operator*

From cppreference.net
constexpr const T * operator - > ( ) const ;
(1) (biblioteca fundamentals TS)
constexpr T * operator - > ( ) ;
(1) (biblioteca fundamentals TS)
constexpr const T & operator * ( ) const & ;
(2) (biblioteca fundamentals TS)
constexpr T & operator * ( ) & ;
(2) (biblioteca fundamentals TS)
constexpr const T && operator * ( ) const && ;
(2) (biblioteca fundamentals TS)
constexpr T && operator * ( ) && ;
(2) (biblioteca fundamentals TS)

Accede al valor contenido.

1) Devuelve un puntero al valor contenido.
2) Devuelve una referencia al valor contenido.

El comportamiento es indefinido si * this no contiene un valor .

Contenidos

Parámetros

(ninguno)

Valor de retorno

Puntero o referencia al valor contenido.

Excepciones

No lanza nada.

Notas

Este operador no verifica si el opcional contiene un valor. Si se necesita acceso verificado, value() o value_or() pueden utilizarse.

Ejemplo

#include <experimental/optional>
#include <iostream>
#include <string>
using namespace std::literals;
int main()
{
    std::experimental::optional<int> opt1 = 1;
    std::cout << *opt1 << '\n';
    std::experimental::optional<std::string> opt2 = "abc"s;
    std::cout << opt2->size() << '\n';
}

Salida:

1
3

Véase también

devuelve el valor contenido
(función miembro pública)
devuelve el valor contenido si está disponible, otro valor en caso contrario
(función miembro pública)