Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
 
 
 
constexpr const T* operator->() const;
(1) (library fundamentals TS)
constexpr T* operator->();
(1) (library fundamentals TS)
constexpr const T& operator*() const&;
(2) (library fundamentals TS)
constexpr T& operator*() &;
(2) (library fundamentals TS)
constexpr const T&& operator*() const&&;
(2) (library fundamentals TS)
constexpr T&& operator*() &&;
(2) (library 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, wenn *this keinen Wert enthält.

Inhalt

[bearbeiten] Parameter

(keine)

[bearbeiten] Rückgabewert

Zeiger oder Referenz auf den enthaltenen Wert.

[bearbeiten] Exceptions

Wirft nichts.

[bearbeiten] Hinweise

Dieser Operator prüft nicht, ob das Optional einen Wert enthält. Wenn ein geprüfter Zugriff benötigt wird, können value() oder value_or() verwendet werden.

[bearbeiten] 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

[bearbeiten] Siehe auch

gibt den enthaltenen Wert zurück
(public member function) [bearbeiten]
gibt den enthaltenen Wert zurück, falls vorhanden, sonst einen anderen Wert
(public member function) [bearbeiten]