Что означает && в конце сигнатуры функции (после закрывающей скобки)?
Суть вопроса заключается в следующем:
Я столкнулся с непонятной мне конструкцией в C++ и хотел бы прояснить некоторые моменты. Вопрос касается перегрузки операторов, и я вижу следующий код, который вызывает у меня затруднения:
template<class T>
struct A
{
operator T&&() && // <== Что означает второй '&&'?
{
// ...
}
};
Мне не совсем ясно, что именно обозначает вторая пара &&
. Я не знаком с этой синтаксической конструкцией и не могу найти ничего в документации, что могло бы помочь мне понять ее назначение.
Также, если у кого-то есть доступ к информации или примерам, было бы здорово получить дополнительные пояснения о контексте использования этой конструкции и возможных сценариях, где она может быть полезна.
Заранее спасибо за вашу помощь!
Что такое Правило трёх?
Как удалить элемент из std::vector<> по индексу?
`unsigned int` против `size_t`: когда и что использовать?
Какова разница между "new", "malloc" и "calloc" в C++?
Инициализация std::string из char* без копирования