Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Programmirovanie_na_c.pdf
Скачиваний:
126
Добавлен:
06.02.2015
Размер:
665 Кб
Скачать

i j k 1 2 3 1 3 4

В примере 53 первый параметр (i) передается по значению. Его изменение в функции не влияет на исходное значение. Второй параметр (j) передается по адресу с помощью указателя, при этом для передачи в функцию адреса фактического параметра используется операция взятия адреса, а для получения его значения в функции требуется операция разыменования. Третий параметр (k) передается по адресу с помощью ссылки.

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

Если требуется запретить изменение параметра, используется модификатор const.

Пример 54

int f(const char*);

char* t(char* a, const int* b);

СОВЕТ!

Рекомендуется указывать const перед всеми параметрами, изменение которых в функции не предусмотрено. Это облегчает отладку. Кроме того, на место параметра типа const& может передаваться константа.

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

4.2.Вопросы для самоконтроля

1.В каких случаях используют функции в С++.

2.Из каких частей состоит функция.

3.Формальные и фактические параметры.

4.Глобальные т локальные параметры.

5.Прототип функции.

6.Передача одномерных массивов в функции. Примеры.

7.Передача многомерных массивов в функции. Примеры.

8.В каком месте программы необходимо объявлять функцию.

101

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]