![]() Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Правила видимости имен для функций
Правила видимости имен определяют, какие имена “видны” в каждой конкретной точке программы. Каждая функция имеет свою область видимости. Переменные, определенные вне функций – глобальные переменные, они “видны” во всех функциях программы, расположенных после объявления таких переменных. Переменные эти “живут” столько, сколько и сама программа. int x; // глобальная переменная void fn (int a) { x = a * a; // изменение значения глобальной переменной x cout < < x; } int main () { ... fn (10); cout < < x; // использование значения глобальной переменной x ... } Переменные, объявленные внутри функции, называются локальными переменными, они “видны” только в данной функции. Локальные переменные создаются при входе в функцию и уничтожаются при выходе из нее. Поэтому локальные переменные не могут сохранять значения между вызовами функций. Единственным исключением из этого правила являются переменные, объявленные со спецификатором static. Он заставляет компилятор воспринимать данную переменную как глобальную, хотя область видимости по-прежнему ограничена функцией. Формальные параметры функции (переменные, получающие значения, указанные при вызове этой функции) ведут себя так же, как и обычные локальные переменные, то есть создаются при входе в функцию и уничтожаются при выходе из нее. Различные функции могут использовать одни и те же имена локальных переменных и формальных параметров. В функциях могут использоваться имена локальных переменных и формальных параметров, совпадающие с именами глобальных переменных программы. В этом случае внутри функции " приоритет" в использовании имен отдается локальным объявлениям. Поскольку в C++ не допускается определение функции внутри другой функции, все функции находятся на одном уровне видимости. В каждой функции известна и может быть вызвана любая объявленная ранее (посредством прототипа или определения) функция. Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок. — Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта. — Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы). — SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание. SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение Одинаковое именование нескольких функций (перегрузка функций) Функции, выполняющие сходные действия для различных наборов входных данных логично называть одним именем. В языке C++ допустимо иметь несколько функций с одним и тем же именем, потому что функции различаются не только по именам, но и по списку типов параметров. Иногда говорят, что у этих функций разные сигнатуры. Тип возвращаемого значения не входит в сигнатуру функции. Попытка определения двух функций с одним и тем же именем и списком типов параметров, но с разными возвращаемыми значениями приведет к ошибке компиляции.
|