0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><li><a>Описание функции возврата</a></li>
1
<ul><li><a>Описание функции возврата</a></li>
2
<li><a>Использование внутри основной функции</a></li>
2
<li><a>Использование внутри основной функции</a></li>
3
<li><a>Внутри пользовательских функций</a></li>
3
<li><a>Внутри пользовательских функций</a></li>
4
<li><a>Принцип работы - пример</a></li>
4
<li><a>Принцип работы - пример</a></li>
5
<li><a>Тип void</a></li>
5
<li><a>Тип void</a></li>
6
<li><a>Как быстрее разобраться с темой</a></li>
6
<li><a>Как быстрее разобраться с темой</a></li>
7
</ul><p>Все программы имеют жизненный<a>цикл</a>. Когда приложение завершает работу, оно должно сообщить об этом системе. Для передачи соответствующей информации используются специальные операторы - операторы возврата.</p>
7
</ul><p>Все программы имеют жизненный<a>цикл</a>. Когда приложение завершает работу, оно должно сообщить об этом системе. Для передачи соответствующей информации используются специальные операторы - операторы возврата.</p>
8
<p>Далее предстоит разобраться с принципами работы функции return в C++. Эта информация пригодится преимущественно начинающим разработчикам.</p>
8
<p>Далее предстоит разобраться с принципами работы функции return в C++. Эта информация пригодится преимущественно начинающим разработчикам.</p>
9
<h2>Описание функции возврата</h2>
9
<h2>Описание функции возврата</h2>
10
<p>Все пользовательские функции после завершения выполнения инструкций способны возвращать значения туда, откуда они были вызваны. Пример -<a>int</a><a>main</a>. Она в конце работы всегда возвращает значение в операционную систему. Связано это с тем, что ОС изначально вызывала main для работы программного обеспечения.</p>
10
<p>Все пользовательские функции после завершения выполнения инструкций способны возвращать значения туда, откуда они были вызваны. Пример -<a>int</a><a>main</a>. Она в конце работы всегда возвращает значение в операционную систему. Связано это с тем, что ОС изначально вызывала main для работы программного обеспечения.</p>
11
<p>В C++ и C имеются операторы возврата. Они называются функциями перехода. Используются для возврата значений или остановки выполнения операции. Называется оператор перехода return (ретурном).</p>
11
<p>В C++ и C имеются операторы возврата. Они называются функциями перехода. Используются для возврата значений или остановки выполнения операции. Называется оператор перехода return (ретурном).</p>
12
<p>При обработке return происходит следующее:</p>
12
<p>При обработке return происходит следующее:</p>
13
<ol><li>Выполнение имеющейся функции прекращается.</li>
13
<ol><li>Выполнение имеющейся функции прекращается.</li>
14
<li>Управление переходит обратно в точку вызова обработанной операции.</li>
14
<li>Управление переходит обратно в точку вызова обработанной операции.</li>
15
<li>Инструкции, написанные после return, никогда не выполняются.</li>
15
<li>Инструкции, написанные после return, никогда не выполняются.</li>
16
<li>Если внутри функции отсутствует соответствующий оператор, при достижении закрывающейся фигурной скобки управление передается в точку вызова обработанной операции. Возвращаемое значение не определяется.</li>
16
<li>Если внутри функции отсутствует соответствующий оператор, при достижении закрывающейся фигурной скобки управление передается в точку вызова обработанной операции. Возвращаемое значение не определяется.</li>
17
</ol><p>Операторы return имеются несколько сценариев использования. Всего их два. Далее они будут рассмотрены более подробно.</p>
17
</ol><p>Операторы return имеются несколько сценариев использования. Всего их два. Далее они будут рассмотрены более подробно.</p>
18
<h2>Использование внутри основной функции</h2>
18
<h2>Использование внутри основной функции</h2>
19
<p>Это - первый метод применения returning. Он делает следующее:</p>
19
<p>Это - первый метод применения returning. Он делает следующее:</p>
20
<ol><li>Return останавливает исполнение программы. Происходит<a>присваивание</a>значения 0 (zero) или 1 (one). Они указываются на статус выполнения.</li>
20
<ol><li>Return останавливает исполнение программы. Происходит<a>присваивание</a>значения 0 (zero) или 1 (one). Они указываются на статус выполнения.</li>
21
<li>Соответствующие коды использовались в C в виде соглашения. Связано это с отсутствием поддержки объектов, классов и исключений непосредственно в языке.</li>
21
<li>Соответствующие коды использовались в C в виде соглашения. Связано это с отсутствием поддержки объектов, классов и исключений непосредственно в языке.</li>
22
<li>Return 0 возвращает функции 0. Данная запись указывает на успешное выполнение заданных операций. Функция обработана так, как было задумано изначально.</li>
22
<li>Return 0 возвращает функции 0. Данная запись указывает на успешное выполнение заданных операций. Функция обработана так, как было задумано изначально.</li>
23
<li>Return 1 возвращает 1. Указывает на наличие ошибки или сбоя при выполнении приложения. Данная запись свидетельствует о том, что функция не работает по задуманному предназначению.</li>
23
<li>Return 1 возвращает 1. Указывает на наличие ошибки или сбоя при выполнении приложения. Данная запись свидетельствует о том, что функция не работает по задуманному предназначению.</li>
24
</ol><p>Что делает returned 0, понятно. Стоит обратить внимание на то, что операционные системы могут самостоятельно завершать<a>приложения с</a>определенными кодами статуса выхода. Это возможно тогда, когда выполняется некоторый спектр недопустимых операций. А еще в зависимости от<a>операционной</a>системы на устройстве пользователя могут меняться соглашения о кодах возврата. Это достаточно редкая ситуация.</p>
24
</ol><p>Что делает returned 0, понятно. Стоит обратить внимание на то, что операционные системы могут самостоятельно завершать<a>приложения с</a>определенными кодами статуса выхода. Это возможно тогда, когда выполняется некоторый спектр недопустимых операций. А еще в зависимости от<a>операционной</a>системы на устройстве пользователя могут меняться соглашения о кодах возврата. Это достаточно редкая ситуация.</p>
25
<h2>Внутри пользовательских функций</h2>
25
<h2>Внутри пользовательских функций</h2>
26
<p>Второй вариант использования returns в программном коде - это внутри пользовательских функций. В C++ данный подход широко используется на практике. Соответствующий<a>язык программирования</a>рассматривает логическое значение в качестве отдельного типа данных с двумя "исходами" - истина (true) и ложь (false).</p>
26
<p>Второй вариант использования returns в программном коде - это внутри пользовательских функций. В C++ данный подход широко используется на практике. Соответствующий<a>язык программирования</a>рассматривает логическое значение в качестве отдельного типа данных с двумя "исходами" - истина (true) и ложь (false).</p>
27
<p>Значения 0 и 1 являются целочисленными (тип int). Они не могут быть неявно преобразованы в логические. Это приводит к тому, что:</p>
27
<p>Значения 0 и 1 являются целочисленными (тип int). Они не могут быть неявно преобразованы в логические. Это приводит к тому, что:</p>
28
<ul><li>return 0 делает возврат false из заданной инструкции;</li>
28
<ul><li>return 0 делает возврат false из заданной инструкции;</li>
29
<li>return 1 возвращает истину.</li>
29
<li>return 1 возвращает истину.</li>
30
</ul><p>Необходимо помнить, что не всегда returns применяются с 0 и 1. Далее предстоит рассмотреть наглядный пример с отличающимся возвращаемым параметром.</p>
30
</ul><p>Необходимо помнить, что не всегда returns применяются с 0 и 1. Далее предстоит рассмотреть наглядный пример с отличающимся возвращаемым параметром.</p>
31
<h2>Принцип работы - пример</h2>
31
<h2>Принцип работы - пример</h2>
32
<p>Чтобы лучше разбираться в операторах перехода в C++, рекомендуется рассмотреть принцип их работы на наглядном примере. Необходимо написать приложение, которое будет запрашивать у клиента число, а затем выводить его квадрат. Для уточнения "цифры" используется отдельная инструкция. Ее предстоит создать самостоятельно.</p>
32
<p>Чтобы лучше разбираться в операторах перехода в C++, рекомендуется рассмотреть принцип их работы на наглядном примере. Необходимо написать приложение, которое будет запрашивать у клиента число, а затем выводить его квадрат. Для уточнения "цифры" используется отдельная инструкция. Ее предстоит создать самостоятельно.</p>
33
<p>Делается это так:</p>
33
<p>Делается это так:</p>
34
<ol><li>Сначала требуется создать функцию, которая запрашивает число на вывод с консоли:.</li>
34
<ol><li>Сначала требуется создать функцию, которая запрашивает число на вывод с консоли:.</li>
35
<li>Во второй строке создается функция типа int под названием EnterNumer.</li>
35
<li>Во второй строке создается функция типа int под названием EnterNumer.</li>
36
<li>Строки 3-6 используются для описания инструкций, выполняемых после вызова функции. Сначала клиенту на экране предлагается ввод целого числа. Далее программа создает переменную для него и получит заданный параметр.</li>
36
<li>Строки 3-6 используются для описания инструкций, выполняемых после вызова функции. Сначала клиенту на экране предлагается ввод целого числа. Далее программа создает переменную для него и получит заданный параметр.</li>
37
<li>Описанная функция вызывается из главной (main): .</li>
37
<li>Описанная функция вызывается из главной (main): .</li>
38
<li>Функция, запрашивающая и получающая число, вызвана. По завершению работы она должна вернуть в main число, которое было указано пользователем. Эта операция прописана в 7 строке кода. После его обработки произойдет возврат переменной int. Поэтому инструкция выглядит как return<a>input</a>: .</li>
38
<li>Функция, запрашивающая и получающая число, вызвана. По завершению работы она должна вернуть в main число, которое было указано пользователем. Эта операция прописана в 7 строке кода. После его обработки произойдет возврат переменной int. Поэтому инструкция выглядит как return<a>input</a>: .</li>
39
<li>Чтобы сохранить значения, необходимо воспользоваться переменной. Она инициализируется функцией EnterNumber(). Это происходит в строке 11: .</li>
39
<li>Чтобы сохранить значения, необходимо воспользоваться переменной. Она инициализируется функцией EnterNumber(). Это происходит в строке 11: .</li>
40
<li>Соответствующая инструкция указывает на то, что в памяти резервируется место для переменной с именем num типа int. Далее происходит инициализация ее значением, возвращенным из функции EnterNumber. Предварительно запускается выполнение предусматриваемых инструкций.</li>
40
<li>Соответствующая инструкция указывает на то, что в памяти резервируется место для переменной с именем num типа int. Далее происходит инициализация ее значением, возвращенным из функции EnterNumber. Предварительно запускается выполнение предусматриваемых инструкций.</li>
41
<li>Необходимо завершить приложение выводом на дисплей квадрата числа, полученного из функции EnterNumber(). Для этого используется std::cout:.</li>
41
<li>Необходимо завершить приложение выводом на дисплей квадрата числа, полученного из функции EnterNumber(). Для этого используется std::cout:.</li>
42
</ol><p>При обработке соответствующего кода на экране появится такой результат:</p>
42
</ol><p>При обработке соответствующего кода на экране появится такой результат:</p>
43
<p>Мы сделали программу, которая использует return. Он используется для возврата значений. Но соответствующий оператор может ничего не возвращать.</p>
43
<p>Мы сделали программу, которая использует return. Он используется для возврата значений. Но соответствующий оператор может ничего не возвращать.</p>
44
<h2>Тип void</h2>
44
<h2>Тип void</h2>
45
<p>Тип функции void в C++ - это ничего или пустота. Он указывает компилятору на то, что соответствующая команда не возвращает никаких параметров. Если в ее конце устанавливается оператор return, программа просто не пройдет стадию компиляции.</p>
45
<p>Тип функции void в C++ - это ничего или пустота. Он указывает компилятору на то, что соответствующая команда не возвращает никаких параметров. Если в ее конце устанавливается оператор return, программа просто не пройдет стадию компиляции.</p>
46
<p>Данная операция вызывается так же, как и команды, возвращающие параметры. Она просто выполняет все необходимые инструкции, написанные в теле, после чего завершается. Вот наглядный пример:</p>
46
<p>Данная операция вызывается так же, как и команды, возвращающие параметры. Она просто выполняет все необходимые инструкции, написанные в теле, после чего завершается. Вот наглядный пример:</p>
47
<p>Написанное приложение печатает две строчки текста, хранимых в двух "алгоритмах" типа void. Они ничего не вернут - только выполняют заданные инструкции. После этого происходит после обращения к ним main().</p>
47
<p>Написанное приложение печатает две строчки текста, хранимых в двух "алгоритмах" типа void. Они ничего не вернут - только выполняют заданные инструкции. После этого происходит после обращения к ним main().</p>
48
<h2>Как быстрее разобраться с темой</h2>
48
<h2>Как быстрее разобраться с темой</h2>
49
<p>Операторы перехода в C++ - это не так трудно, как кажется. Чтобы надписи типа return, include, main и другие не вызывали вопросов, рекомендуется пройти дистанционные компьютерные курсы. На них с нуля пользователей научат разрабатывать приложения на разных языках - от Python до C++.</p>
49
<p>Операторы перехода в C++ - это не так трудно, как кажется. Чтобы надписи типа return, include, main и другие не вызывали вопросов, рекомендуется пройти дистанционные компьютерные курсы. На них с нуля пользователей научат разрабатывать приложения на разных языках - от Python до C++.</p>
50
<p>Пример - от образовательного центра OTUS. Пользователя в срок до 12 месяцев научат основам разработки. Люди смогут освоить любую IT-профессию. В процессе обучения гарантируется постоянное кураторство, много практики, а также интересные домашние задания. Ученику помогут составить портфолио. В конце курса выдается электронный сертификат, который подтверждает приобретенный спектр навыков и знаний.</p>
50
<p>Пример - от образовательного центра OTUS. Пользователя в срок до 12 месяцев научат основам разработки. Люди смогут освоить любую IT-профессию. В процессе обучения гарантируется постоянное кураторство, много практики, а также интересные домашние задания. Ученику помогут составить портфолио. В конце курса выдается электронный сертификат, который подтверждает приобретенный спектр навыков и знаний.</p>
51
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> Ниже - один из них:</p>
51
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a>Otus</a>!</em> Ниже - один из них:</p>
52
<a></a>
52
<a></a>