Я бы хотел разобраться в том, для чего именно в Стандарт C++ были добавлены ссылки &&. Какие именно проблемы решает это нововведение?
Да, я знаю, чем отличаются:
Object(const Object &_object);
Object(Object && _object);
Но я не совсем понимаю, почему нельзя было установить соглашение, что:
Object(const Object &_object);// Конструктор копирования.
Object(Object &_object);// Конструктор перемещения.
Я встречаю старый код, где ссылки на неконстантное значение используются для сигнализации о перемещении объекта, а ссылки на константное - для сигнализации о копировании.
И меня это сильно сбивает с толка.
Потому, что:
Object(Object & _object);
это не обязательно перемещение.
И что станет с таким кодом, написанным до C++14? Его поведение изменится.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей