когда передавать аргументы функции по ссылке, а когда по адресу?

StackOverflow https://stackoverflow.com/questions/143788

Вопрос

Кто-нибудь мог бы объяснить на нескольких примерах, когда лучше вызывать функции по ссылке, а когда лучше вызывать по адресу?

Это было полезно?

Решение

Передавайте свои аргументы функции, используя ссылку, когда это возможно.Передача аргументов по ссылке исключает вероятность того, что они будут равны НУЛЮ.Если вы хотите, чтобы было возможно передать нулевое значение функции, то используйте pointer .

Другие советы

Это уже обсуждалось.Видишь Указатель противСсылка.

Одно приятное соглашение заключается в том, чтобы:

  • Передавать объекты по указателю всякий раз, когда ими можно манипулировать (побочный эффект или как выходной сигнал) с помощью функции.
  • Пройти все остальные объекты по постоянной ссылке.

Это очень четко показывает вызывающей стороне, с минимальной документацией и нулевыми затратами на производительность, какие параметры являются постоянными, а какие нет.

Вы также можете применить это к примитивным типам, но спорно, нужно ли вам использовать ссылки const для не выходных параметров, поскольку они явно передаются по значению и никоим образом не могут выступать в качестве выходных данных функции (для прямых типов - не указателей / ссылок - конечно).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top