Четвертый Borland C++ и его окружение


Аргументы типа ссылки - часть 2


Следовательно, n играет роль псевдонима i, и n = 3*n также присваивает i значение 3*i.

Если инициализатор представляет собой константу или объект

нессылочного типа, то Borland C++ создаст временный объект, для

которого ссылка действует как псевдоним:

int& ir = 16; /* создается временный объект int, с именем

псевдонима ir, который получает значение

16 */

float f;

int& ir2 = f; /* создается временный объект int, с именем

псевдонима ir2, f перед присваиванием

преобразуется */

ir2 = 2.0 /* теперь ir2 = 2, но f остается без измене-

ний */

Если формальные и фактические аргументы имеют различные (но

совместимые по присваиванию) типы, то автоматическое создание

временных объектов позволяет выполнять преобразования ссылочных

типов. При передаче по значению, разумеется, проблем с преобразованием типов меньше, поскольку перед присваиванием формальному

аргументу копия фактического аргумента может быть физически изменена.




- Начало -  - Назад -  - Вперед -