Составители:
Рубрика:
61
- Если для возвращаемого значения указан тип void, функция не возвра-
щает никакого значения. При этом функция не должна содержать опе-
ратора return, однако при желании его можно оставить.
- Если в объявлении функции указано, что она возвращает значение, в
теле функции должен содержаться оператор return, возвращающий
это значение. В противном случае компилятор
выдаст предупреж-
дение.
- Функции могут иметь любое количество аргументов, но возвращаемое
значение всегда одно.
- Аргументы могут передаваться функции по значению, через указатели
или по ссылке.
Основные преимущества построения программ на основе функций сводятся
к следующему:
- Программирование с использованием функций делает разработку про-
грамм более управляемой.
- Повторное использование программных кодов, т.е. использование су-
ществующих функций как стандартных блоков для создания новых
программ.
-
Возможность избежать в программе повторения каких-либо фраг-
ментов.
9.3. Передача параметров
При вызове функции выделяется память для ее формальных параметров, и
каждый формальный параметр инициализируется значением соответствующего
фактического параметра. Имеются два способа обращения к функциям –вызов
по значению и вызов по ссылке. Когда аргумент передается вызовом по значе-
нию, создается копия аргумента, и она передается вызываемой функции. Ос-
новным недостатком вызова
по значению является то, что при передаче боль-
шого количества данных создание копии может привести к большим потерям
времени выполнения. В случае вызова по ссылке оператор вызова дает вызы-
ваемой функции возможность прямого доступа к передаваемым данным, а так-
же возможность изменения этих данных. Ссылочный параметр – это псевдоним
соответствующего аргумента.
Чтобы показать, что параметр функции передан
по ссылке, после типа параметра в прототипе и заголовке функции ставится
символ амперсанта. Рассмотрим функцию
int multiply (int x, int &y) //заголовок функции
{
return x * y ;
}
В функцию multiply параметр х передается по значению, а параметр у по
ссылке. Вызов по ссылке хорош в смысле производительности, так как исклю-
чает процедуру копирования
данных, однако при этом появляется вероятность
того, что вызываемая функция может испортить передаваемые в нее данные.
Страницы
- « первая
- ‹ предыдущая
- …
- 59
- 60
- 61
- 62
- 63
- …
- следующая ›
- последняя »