Должна ли каждая функция, имеющая ссылку на lvalue, быть перегружена, чтобы взять ссылку на rvalue? - PullRequest
1 голос
/ 21 апреля 2019

Давайте представим, что у меня есть такая функция:

auto funct(T const& lhs) { ... };

Эту функцию часто можно оптимизировать путем кражи ресурсов, поэтому мы можем перегрузить ее следующим образом:

auto funct(T&& lhs) { ... };

Зная, что временные значения неявно преобразуются в rvalue-ссылки, это фактически улучшило бы производительность, когда кража актуальна.

Должен ли я перегружать каждую функцию, как эта? Кажется, это приводит к большому дублированию кода ... Если я прав, можно ли избежать этого дублирования?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...