
🍔Что делают std::move и std::forward?
❗Если простыми словами, то std::move делает && (r-value), чтобы из всех перегрузок была выбрана именно перегрузка с &&
❗std::forward предназначен для шаблонов, чтобы && передалось в вызываемую из шаблона функцию без изменений. В итоге срабатывает move-семантика и убирается ненужное копирование данных при вызове
❗Если простыми словами, то std::move делает && (r-value), чтобы из всех перегрузок была выбрана именно перегрузка с &&
❗std::forward предназначен для шаблонов, чтобы && передалось в вызываемую из шаблона функцию без изменений. В итоге срабатывает move-семантика и убирается ненужное копирование данных при вызове