Когда я прохожу, например, std :: vector < /code> в функцию я всегда рассматриваю следующие варианты: < /p>
[*] Я собираюсь изменить состояние вектора, но я не выполняет размышления. < /p>
Код: Выделить всё
void function(std::vector vec);
Код: Выделить всё
void function(std::vector & vec);
void function(std::vector const& vec);
< /code> < /li>
< /ol>
Теперь это та же логика с умными указателями? А когда я должен рассмотреть семантику движения? Некоторые рекомендации о том, как я должен передать умные указатели, - это то, чего я хочу больше всего.
Подробнее здесь: https://stackoverflow.com/questions/125 ... -functions