Предпочитайте простые и общепринятые способы передачи информации
Причина
Использование «необычных и хитроумных» техник вызывает удивление, замедляет понимание другими программистами и провоцирует ошибки. Если вам действительно кажется, что нужна оптимизация сверх общепринятых техник, измерьте результат, чтобы убедиться в реальном улучшении, и задокументируйте/прокомментируйте, поскольку улучшение может быть непереносимым.
В следующих таблицах сводятся рекомендации из правил F.16–21.
Обычная передача параметров:

Продвинутая передача параметров:

Используйте продвинутые техники только после доказательства необходимости и документируйте эту необходимость в комментарии.
Для передачи последовательностей символов см. Строки.
Исключение
Для выражения совместного владения с помощью типов shared_ptr, вместо следования правилам F.16–21, следуйте R.34, R.35 и R.36.