Где я должен предпочесть передачу по ссылке или по значению?

1) Очень хорошая и свободная документация
2) Очень хороший разработчик коммерческие и бесплатные инструменты
3) хорошая сертификация и учебные ресурсы
4) хорошие и бесплатные инструменты во время выполнения
5) хорошее профилирование и контроль инструментов
6) очень хорошие варианты поддержки от различных компаний
7) очень хорошее сообщество разработчиков ПО с открытым исходным кодом с огромным количеством библиотек

22
задан templatetypedef 2 August 2011 в 20:12
поделиться

1 ответ

Хотя указатели являются ссылками, «ссылка» в c ++ обычно относится к практике тегирования параметра SomeType & amp;

.

Что вы никогда не должны делать. Единственное место, где это уместно, - это магический синтаксис, необходимый для реализации различных предопределенных операторов. В противном случае:

  • Вы никогда не должны передавать параметры по ссылке - передавать по указателю, в противном случае вы делаете проверки кода практически невозможными. Передача по ссылке делает невозможным определить путем проверки вызова, какие параметры можно ожидать изменить.

  • Вы никогда не должны передавать параметр по ссылке. Опять же, это означает, что вы выполняете мета-оптимизацию. Вы всегда должны просто передавать по значению, иначе вы виновны в том, что заглянули внутрь объекта, изучили его реализацию и решили, что передача по ссылке предпочтительнее по какой-то причине.

Любой класс c ++ должен реализовывать все конструкторы копирования и присваивания и перегрузки, необходимые для передачи по значению. В противном случае он не выполнил свою задачу по абстрагированию программиста от деталей реализации класса.

-3
ответ дан 29 November 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: