HTML Diff
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>