Код: Выделить всё
void put(const Data& data) { m_data = data; }
void put(Data&& data) {m_data = std::move(data);}
Код: Выделить всё
template
void put(T&& data) {m_data = std::forward(data);}
Код: Выделить всё
void put(Data data) {m_data = std::move(data);}
Это также использует меньше шаблонов и приводит к уменьшению количества ошибок компиляции.
Учитывая это решение, каковы оправдания пересылка ссылок - функциональные возможности, которые он может предоставить, чего не может дать простая идиома передачи по значению и перемещению?
Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/793 ... references
Мобильная версия