"Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT" - читать интересную книгу автора (Фролов Александр Вячеславович, Фролов...)

Ссылки

В языке Си++ вы можете определить ссылку на объект – переменную или объект класса. Ссылка содержит адрес объекта, но вы можете использовать ее, как будто она представляет сам объект. Для объявления ссылки используется оператор amp;.

В следующей программе мы определили переменную iVar типа int и ссылку iReferenceVar на нее. Затем мы отображаем и изменяем значение переменной iVar используя ее имя и ссылку.

// Включаемый файл для потокового ввода/вывода

#include lt;iostream.hgt;


void main(void) {

 // Определяем переменную iVar

 int iVar = 10;


 // Определяем ссылку iReferenceVar на переменную iVar

 intamp; iReferenceVar = iVar;


 // Отображаем значение переменной и ссылки

 cout lt;lt; "iVar = " lt;lt; iVar lt;lt; ";

 iReferenceVar = " lt;lt; iReferenceVar lt;lt; '\n';


 // Изменяем значение переменной iVar пользуясь ссылкой

 iReferenceVar = 20;


 // Отображаем значение переменной и ссылки

 cout lt;lt; "iVar = " lt;lt; iVar lt;lt; ";

 iReferenceVar = " lt;lt; iReferenceVar lt;lt; '\n';

}

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

Функция может не только принимать ссылки в качестве своих параметров, она также может возвращать ссылку. Такую функцию можно привести в левой части оператора присваивания.