что означает && справа от объявления метода?
Вот метод, который возвращает rvalue ссылку, но что означает && справа от имени метода?
return_type &&result() &&{
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Это значит, что функция-член вызывается только для rvalue-объекта. Например:
struct Test
{
void f() && {};
};
int main()
{
Test t;
t.f(); // Ошибка
Test().f(); // Компилируется
}
Точно так же единственный & говорит о применимости функции-члена к lvalue объекту:
struct Test
{
void f() & {};
};
int main()
{
Test t;
t.f(); // Компилируется
Test().f(); // Ошибка
}