Каков вариант использования перегрузки функций-членов для ссылочных квалификаторов?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Каков вариант использования перегрузки функций-членов для ссылочных квалификаторов?

Сообщение Anonymous »

C++11 позволяет перегружать функции-члены на основе ссылочных квалификаторов:

Код: Выделить всё

class Foo {
public:
void f() &;   // for when *this is an lvalue
void f() &&;  // for when *this is an rvalue
};

Foo obj;
obj.f();               // calls lvalue overload
std::move(obj).f();    // calls rvalue overload
Я понимаю, как это работает, но какой вариант использования?

Я вижу, что N2819 предлагал ограничить большинство операторов присваивания в стандартной библиотеке целевыми значениями lvalue (т. е. добавлением "" ссылаются на операторы присваивания), но это было отклонено. Так что это был потенциальный вариант использования, в котором комитет решил не использовать его. Итак, еще раз, каков разумный вариант использования?

Подробнее здесь: https://stackoverflow.com/questions/210 ... qualifiers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»