Хелпикс

Главная

Контакты

Случайная статья





Аргументы по умолчанию. Переменные функции



25.Аргументы по умолчанию

При объявлениифункций в языке С++ имеется возможность задать значенияаргументов по умолчанию. Первый случай применения этой возможности языка – сокращение записи. Если функция вызывается с одним и тем же значением аргумента в 99% случаев, и это значение достаточно очевидно, можно задать его по умолчанию. Предположим, функция expnt возводит число в произвольную целую положительную степень. Чаще всего она используется для возведения в квадрат. Ее объявление можно записать так:

double expnt (double x, unsigned int e = 2); Использовать аргументы по умолчанию удобно при изменении функции. Если при изменении программы нужно добавить новый аргумент, то для того чтобы не изменять все вызовы этой функции, можно новый аргумент объявить со значением по умолчанию. В таком случае старые вызовы будут использовать значение по умолчанию, а новые – значения, указанные при вызове. Необязательных аргументов может быть несколько. Если указан один необязательный аргумент, то либо он должен быть последним в прототипе, либо все аргументы после него должны также иметь значение по умолчанию. Если для функции задан необязательный аргумент, то фактически задано несколько подписей этой функции.

24.Переменные функции

Функция - это именованная часть программы, к которой можно обращаться из других частей программы столько раз, сколько потребуется. Локальная переем-я ф-ии сущ-ет только во время вызова этой ф-ии. После возврата из ф-ии ОС удаляет локал. переем-ю и освобождает память. Следовательно, между вызовами функции содержимое локальных переменных теряется. Инициа-лизация локальных переменных производится каждый раз при вызове функции. С++ позволяет определить локальную пере-менную, сохраняющую своё значение между вызовами функции, простым применением ключевого слова static слева от описания типа. Инициализация выполняется один раз при первом вызове функции. Этот тип локальной переменой назы-вается статической переменной. В своём роде, это вариант глобальной переменной, но доступна эта переменная только из той функции, в которой она объявлена. Когда выполнение функции завершается, значение статической переменой сохраняется.

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.