Namespaces
Variants

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

From cppreference.net
constexpr const T * operator - > ( ) const ;
(1) (라이브러리 펀더멘털 TS)
constexpr T * operator - > ( ) ;
(1) (라이브러리 펀더멘털 TS)
constexpr const T & operator * ( ) const & ;
(2) (라이브러리 펀더멘털 TS)
constexpr T & operator * ( ) & ;
(2) (라이브러리 펀더멘털 TS)
constexpr const T && operator * ( ) const && ;
(2) (라이브러리 펀더멘털 TS)
constexpr T && operator * ( ) && ;
(2) (라이브러리 펀더멘털 TS)

포함된 값에 접근합니다.

1) 포함된 값에 대한 포인터를 반환합니다.
2) 포함된 값에 대한 참조를 반환합니다.

동작은 * this 가 값을 포함하지 않는 경우 정의되지 않습니다.

목차

매개변수

(없음)

반환값

포함된 값에 대한 포인터 또는 참조.

예외

아무것도 던지지 않습니다.

참고 사항

이 연산자는 optional이 값을 포함하는지 여부를 확인하지 않습니다. 확인된 접근이 필요한 경우, value() 또는 value_or() 를 사용할 수 있습니다.

예제

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

출력:

1
3

참고 항목

포함된 값을 반환합니다
(public member function)
사용 가능한 경우 포함된 값을, 그렇지 않으면 다른 값을 반환합니다
(public member function)