ВУЗ:
Составители:
Рубрика:
68
ir = 3.0; // d – не меняется!
Здесь создаётся анонимная переменная типа int, которая инициа-
лизируется значением, полученным в результате преобразования значе-
ния типа double к типу int. Затем ссылка инициализируется значением
адреса этой переменной.
Анонимный объект создаётся также, когда инициализатор не яв-
ляется объектом, например, является константой:
int& ir = 3; // Анонимный объект получил значение 3.
Здесь сначала создается анонимный объект типа int и он инициа-
лизируется значением 3. После этого создаётся ссылка ir и инициали-
зируется адресом анонимного объекта. Теперь ir – его псевдоним и
оператор
ir = 8;
устанавливает новое значение этого анонимного объекта.
16.6. Ссылки в качестве параметров функций
Ссылки часто используются в качестве формальных параметров
функций. Механизм передачи параметров в функции с помощью ссылок
называют в программировании передачей аргументов по ссылке. С по-
мощью ссылок можно добиться изменения значений фактических пара-
метров из вызывающей программы (без применения указателей).
void swap (int & x, int & y){
int t = x;
x = y;
y = t;
}
Теперь обращение в вызывающей функции имеет вид:
int a = 3, b = 7;
swap (a, b);
Здесь создаются локальные относительно функции swap() пере-
менные x и y ссылочного типа, которые являются псевдонимами пере-
менных a и b и инициализирующиеся переменными a, b. После этого
все действия с x и y эквивалентны действиям с a и b, что приводит к
изменению значений a и b.
Страницы
- « первая
- ‹ предыдущая
- …
- 64
- 65
- 66
- 67
- 68
- …
- следующая ›
- последняя »
