Namespaces
Variants

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

From cppreference.net
constexpr const T * operator - > ( ) const ;
(1) (spécification technique des bibliothèques fondamentales)
constexpr T * operator - > ( ) ;
(1) (spécification technique des bibliothèques fondamentales)
constexpr const T & operator * ( ) const & ;
(2) (spécification technique des bibliothèques fondamentales)
constexpr T & operator * ( ) & ;
(2) (spécification technique des bibliothèques fondamentales)
constexpr const T && operator * ( ) const && ;
(2) (spécification technique des bibliothèques fondamentales)
constexpr T && operator * ( ) && ;
(2) (spécification technique des bibliothèques fondamentales)

Accède à la valeur contenue.

1) Retourne un pointeur vers la valeur contenue.
2) Retourne une référence à la valeur contenue.

Le comportement n'est pas défini si * this ne contient pas de valeur .

Table des matières

Paramètres

(aucun)

Valeur de retour

Pointeur ou référence vers la valeur contenue.

Exceptions

Ne lance rien.

Notes

Cet opérateur ne vérifie pas si l'optionnel contient une valeur. Si un accès vérifié est nécessaire, value() ou value_or() peuvent être utilisés.

Exemple

#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';
}

Sortie :

1
3

Voir aussi

renvoie la valeur contenue
(fonction membre publique)
renvoie la valeur contenue si disponible, une autre valeur sinon
(fonction membre publique)