std::indirect<T, Allocator>::operator->, std::indirect<T, Allocator>::operator*
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) |
constexpr const T&& operator*() const&& noexcept; | (5) | (начиная с C++26) |
constexpr T&& operator*() && noexcept; | (6) | (начиная с C++26) |
Обращается к хранимому значению.
1,2) Возвращает указатель на хранимое значение.
3-6) Возвращает ссылку на хранимое значение.
Если *this не содержит значения, поведение не определено.
Возвращаемое значение
1,2)
p
3,4)
*p
5,6)
std::move(*p )
Примечания
Этот оператор не проверяет, содержит ли *this значение; пользователи могут проверить это вручную с помощью valueless_after_move().
Пример
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/memory/indirect/operator*