Различия
Показаны различия между двумя версиями страницы.
— | funkcii [2021/07/31 21:57] (текущий) – создано - внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Введение в функции языка C++ ====== | ||
+ | **Функция** - специальная конструкция, | ||
+ | ====== Синтаксис объявления функции в языке CPP ====== | ||
+ | Существует два способа объявления функции в [[zametki_po_jazyku_c|языке C++]]: | ||
+ | - Функция объявляется до функции main. | ||
+ | - Функция объявляется с помощью прототипа, | ||
+ | < | ||
+ | возвращаемое_значение имя_функции (параметры) | ||
+ | { | ||
+ | блок_повторяющегося_кода (тело); | ||
+ | }</ | ||
+ | <note important> | ||
+ | <note important> | ||
+ | ====== return ====== | ||
+ | Для возвращения Значения из функции в программу на то место, из которого была вызвана эта функция, | ||
+ | < | ||
+ | return значение; | ||
+ | </ | ||
+ | Если функция не возвращает никаких значений, | ||
+ | return; // в данном случае return отработает для функции, | ||
+ | |||
+ | Запомните важные моменты обращения с return: | ||
+ | - Операторов возврата может быть несколько (в зависимости от ситуации), | ||
+ | - Если сработал return (вне зависимости от формы), | ||
+ | - Если тип возвращаемый функцией не void, то необходимо ВСЕГДА использовать форму: **return значение; | ||
+ | |||
+ | ====== Оператор return (прерывание выполнения программы) ====== | ||
+ | Оператор return завершает выполнение функции, | ||
+ | |||
+ | < | ||
+ | return [выражение] ; | ||
+ | </ | ||
+ | |||
+ | Значение выражения, | ||
+ | |||
+ | Если в какой-либо функции отсутствует оператор return, то передача управления в вызывающую функцию происходит после выполнения последнего оператора вызываемой функции. При этом возвращаемое значение не определено. Если функция не должна иметь возвращаемого значения, | ||
+ | |||
+ | Таким образом, | ||
+ | |||
+ | Пример: | ||
+ | |||
+ | < | ||
+ | int sum (int a, int b) | ||
+ | { | ||
+ | </ | ||
+ | |||
+ | Функция sum имеет два формальных параметра a и b типа int, и возвращает значение типа int, о чем говорит описатель, | ||
+ | |||
+ | Пример: | ||
+ | |||
+ | < | ||
+ | void prov (int a, double b) | ||
+ | | ||
+ | if (a<3) return; else if (b>10) return; | ||
+ | else { c=a+b; | ||
+ | if ((2*c-b)==11) return; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | В этом примере оператор return используется для выхода из функции в случае выполнения одного из проверяемых условий. | ||
+ | ====== Передача аргументов функциям ====== | ||
+ | Поговорим, | ||
+ | ===== Передача аргументов функциям по значению ===== | ||
+ | Передача аргументов функциям по значению - т.е. передаваемые значения просто копируются. | ||
+ | ===== Передача аргументов функциям по указателю ===== | ||
+ | Так как в C передача аргументов функциям осуществляется "по значению", | ||
+ | ===== Передача аргументов функциям по ссылке ===== | ||
+ | Ссылочные переменные используются достаточно редко: значительно удобнее использовать саму переменную, | ||
+ | |||
+ | ====== Аргументы (параметры) по умолчанию ====== | ||
+ | Формальному параметру функции может быть задан аргумент по умолчанию. Это означает, | ||
+ | |||
+ | Общий синтаксис для реализации такого подхода имеет следующий вид: | ||
+ | < | ||
+ | тип_возвращаемого_значения имя_функции(тип_арг имя_арг=значение_по_умолчанию) | ||
+ | </ | ||
+ | Здесь значение_по_умолчанию и есть значение, | ||
+ | < | ||
+ | тип_возвращаемого_значения имя_функции(арг1=значение, | ||
+ | </ | ||
+ | **Аргументами по умолчанию могут быть аргументы, | ||
+ | <file cpp> | ||
+ | void foot (int i, int j = 7) ; // | ||
+ | void foot (int i, int j = 2, int k) ; // | ||
+ | void foot (int i, int j = 3, int k = 7) ; // | ||
+ | void foot (int i = 1, int j = 2, int k = 3); // | ||
+ | void foot (int i=- 3, int j); // | ||
+ | </ | ||
+ | Рассмотрим пример на работу с параметрами по умолчанию. | ||
+ | <file cpp> | ||
+ | #include < | ||
+ | using namespaсe std; | ||
+ | |||
+ | // рисует линию из звездочек длиной count | ||
+ | void Star(int count=20){ | ||
+ | for(int i=0; | ||
+ | cout<<' | ||
+ | cout<<" | ||
+ | } | ||
+ | |||
+ | void main(){ | ||
+ | |||
+ | Star(); // показ линии из 20 звездочек | ||
+ | Star(5); // показ линии из пяти звездочек | ||
+ | |||
+ | } | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга