перегрузка на const&&
От: sergii.p  
Дата: 24.11.23 11:09
Оценка:
недавно столкнулся, что в операторе * для std::optional есть перегрузка на const&&

constexpr const T&& operator*() const&& noexcept;


Зачем это? Чем оно отличается от const& ?
Думал, может оно крадёт значение из константы. Так нет вроде.

const std::optional<std::string> s = "123456789";
const auto s2 = *std::move(s);
std::cout << *s; // prints 123456789
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.