Шрифт:
Этот стиль предпочтительнее для небольших объектов, таких как переменные типа
Как сделать выбор между передачей аргумента по ссылке и с помощью указателя? К сожалению, каждый из этих вариантов имеет свои преимущества и недостатки, поэтому ответ на это вопрос не ясен. Каждый программист должен принимать решение в зависимости от ситуации.
Использование передачи аргумента с помощью ссылок предостерегает программиста о том, что значение может измениться. Рассмотрим пример.
Необходимость использования оператора
Совершенно очевидно, что это ужасно. Человек, написавший функцию,
Теперь функция
• Для маленьких объектов предпочтительнее передача по значению.
• Для функций, допускающих в качестве своего аргумента “нулевой объект” (представленный значением
• В противном случае в качестве параметра следует использовать ссылку.
См. также раздел 8.5.6.
17.9.2. Указатели, ссылки и наследование
В разделе 14.3 мы видели, как можно использовать производный класс, такой как
Это можно сделать и с помощью ссылок.
Этот факт является чрезвычайно важным для большинства объектно-ориентированных технологий программирования (см. разделы 14.3, 14.4).
17.9.3. Пример: списки
Наиболее распространенными и полезными структурами данных являются списки. Как правило, список создается с помощью узлов, каждый из которых содержит определенную информацию и указатель на другие узлы. Это — классический пример использования указателей. Например, короткий список норвежских богов можно представить в следующем виде.