ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 5) онлайн

Ссылки на аргументы

Ссылка является псевдонимом, или альтернативным именем переменной. Одним из наиболее важных применений ссылок является передача аргументов в функ- ции.

Мы уже видели несколько примеров передачи аргументов в функции по значению. Когда осуществляется передача по значению, вызываемая функция создает новые переменные, имеющие те же типы, что и передаваемые аргументы, и копирует значения аргументов в эти переменные. Как мы видели, функция не имеет доступа к переменным-аргументам, а работает со сделанными ей копиями значений. Разумеется, такой механизм полезен в тех случаях, когда у функции нет необходимости изменять значения аргументов, и мы защищаем аргументы от несанкционированного доступа.

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

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

 

18