Связывает ли const && со всеми значениями (и значениями)?
Стандарт C ++ определяет следующие удаленные функции;
template <class T>
void ref(const T&&) = delete;
template <class T>
void cref(const T&&) = delete;
Это необходимо для того, чтобы гарантировать, что функции не используются неправильно, не позволяя им связываться с временными значениями (значениями).
Есть лиconst &&
привязать все значения, в частности, значения?Было быconst &&
привязка ко всем «перемещенным объектам» (xvalues; в основном что-то возвращено изstd::move
или похожие)?Я могу рассуждать, что так и должно быть, но у меня нет никаких «доказательств» для этого.
Или, наоборот, есть ли случаи, когда rvalue (prvalue или xvalue) не будет связываться сconst &&
?Если так, то как?Примечание: некоторая ясность из комментариев, этот вопрос сильно склонен к классическим rvalues, категории значений prvalue.