Namespaces
Variants

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

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

Greift auf den enthaltenen Wert zu.

1) Gibt einen Zeiger auf den enthaltenen Wert zurück.
2) Gibt eine Referenz auf den enthaltenen Wert zurück.

Das Verhalten ist undefiniert, falls * this keinen Wert enthält .

Inhaltsverzeichnis

Parameter

(keine)

Rückgabewert

Zeiger oder Referenz auf den enthaltenen Wert.

Exceptions

Wirft nichts.

Hinweise

Dieser Operator prüft nicht, ob der optionale Wert einen Wert enthält. Wenn geprüfter Zugriff benötigt wird, value() oder value_or() kann verwendet werden.

Beispiel

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

Ausgabe:

1
3

Siehe auch

gibt den enthaltenen Wert zurück
(öffentliche Elementfunktion)
gibt den enthaltenen Wert zurück, falls verfügbar, andernfalls einen anderen Wert
(öffentliche Elementfunktion)