Namespaces
Variants

std::polymorphic<T, Allocator>:: operator->, std::polymorphic<T, Allocator>:: operator*

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
constexpr const_pointer operator - > ( ) const noexcept ;
(1) (начиная с C++26)
constexpr pointer operator - > ( ) noexcept ;
(2) (начиная с C++26)
constexpr const T & operator * ( ) const & noexcept ;
(3) (начиная с C++26)
constexpr T & operator * ( ) & noexcept ;
(4) (начиная с C++26)

Обращается к хранимому значению.

1,2) Возвращает указатель на принадлежащее значение.
3,4) Возвращает ссылку на содержащееся значение.

Если * this не содержит значения, поведение не определено.

Возвращаемое значение

Как описано выше.

Примечания

Этот оператор не проверяет, является ли * this не содержащим значения; пользователи могут сделать это вручную с помощью valueless_after_move() .

Пример