передавать по ссылке?
Например что лучше это:
void callfunc(const std::string& str)
{
...
}
...
std::string abc;
callfunc(abc);
Или это:
void callfunc(std::string str)
{
...
}
...
std::string abc;
callfunc(std::move(abc));
Всегда по константной ссылке. Вот простая формула.
Ничего не понял. Всмысле нужно? Зависит от того, что ты хочешь реализовать.
В твоих примерах первый пример лучше
Effective Modern C++, Item 41: • For copyable, cheap-to-move parameters that are always copied, pass by value may be nearly as efficient as pass by reference, it’s easier to implement, and it can generate less object code.
Ну кажется, что пропагандировать правило в чате новичков всегда передавать по конст рефу. Нормально. Там дальше уже самому можно разобраться.
а потом void setFlag(const bool & flag);
А если новичок прямо задаёт вопрос "что лучше", то когда стоит остановить пропаганду и ответить на вопрос? Да и с точки зрения пропаганды, std::string_view – более корректный ответ
Компилятор же не будет исправлять это чудо за тебя, правда?
что исправлять то
Референс на объект, который стоит дороже чем копирование этого объекта.
видать не https://godbolt.org/z/1vcWYKchK
Ну вон там дереференс в асме
так я ж об этом же
Здесь зависит от тела функции.
Обсуждают сегодня