Добавил:
Помощь с лабораторными, контрольными практическими и курсовыми работами по: - Инженерной и компьютерной графике - Прикладной механике Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 сем 1 курс С++ / Экзамен / Lektsii_Kurakina_2_semestr.pdf
Скачиваний:
12
Добавлен:
08.08.2022
Размер:
4.82 Mб
Скачать

5. Работа с объектами

5.1 Ссылки в С++

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

Пример:

void swap (int i, int j)

{int tmp; tmp= i;

i=j;

j=tmp ;}

swap (a, b);

Т.е. изменение локальных переменных i, j не отражается на внешнем объекте, поскольку они занимают разные области памяти.

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

Пример:

void swap (int *i, int *j)

{ int tmp;

tmp=*i;

*i=*j;

*j=tmp ;}

swap (&a, &b);

При вызове используются указатели на аргументы.

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

Соседние файлы в папке Экзамен