Судя по комментам habr.com/ru/post/460831/#comment_20416435 в соседнем посте и развернувшейся там дискуссии, на Хабре не помешает статья, как правильно передавать аргументы в конструктор или сеттер. На StackOverflow подобного материала полно, но тут что-то я не припомню.
Потому что пример в той статье полностью корректен, и автор статьи абсолютно прав. Вот этот пример:
Такой код позволяет покрыть все (ну ладно, почти все) возможные варианты использования класса:
Потому что пример в той статье полностью корректен, и автор статьи абсолютно прав. Вот этот пример:
// Хорошо.
struct person {
person(std::string first_name, std::string last_name)
: first_name{std::move(first_name)} // верно
, last_name{std::move(last_name)} // std::move здесь СУЩЕСТВЕНЕН!
{}
private:
std::string first_name;
std::string last_name;
};
Такой код позволяет покрыть все (ну ладно, почти все) возможные варианты использования класса: