Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 05.03.2021
Сообщений: 22

Что делает return?

01.06.2021, 22:14. Показов 641. Ответов 7
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Что делает:
C++
1
return;
Что делает:
C++
1
return 0;
Какой оператор может стоять на месте нуля?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.06.2021, 22:14
Ответы с готовыми решениями:

Что делает Return в плюсах?
Судя по прочитанной литературе по с++ return что-то возвращает в вызывающую программу, но в одном месте попался странный код и не только...

Что делает return в функции void?
void handle_arrival(vector<Car>& cars, vector< stack<string> >& parking_lot, const string& plate) { // TODO: Handle car arrivals ...

Не понятно что делает __success(return >= 0)
Увидел определение HRESULT typedef __success(return >= 0) long HRESULT; не ясно что это означает? это похоже команда препроцессора...

7
611 / 416 / 151
Регистрация: 11.01.2019
Сообщений: 1,746
01.06.2021, 22:18
return - оператор возврата из функции, после которого может быть записано выражение (не оператор). Если выражение имеется (0 это тоже выражение), то его значение и будет результатом функции. Если выражение отсутствует, то результата у функции нет, т.е. она ничего не возвращает.
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
02.06.2021, 00:28
Цитата Сообщение от jugu Посмотреть сообщение
т.е. она ничего не возвращает.
Как я понимаю, не совсем так с главной функцией программы main(), она будет удалять регистр eax, тоесть eax=0, тоесть возвращаемое равно нулю.
return; используется для возвращаемого значения функции в типе void. А return 0; - для int. Но оба возвращается к нулю. Посмотрите:
1. return;
C++
1
2
3
4
void main()
{
    return;
}
Код ASM:
Assembler
1
xor         eax,eax
2. return 0;
C++
1
2
3
4
int main()
{
    return 0;
}
Код ASM тоже:
Assembler
1
xor         eax,eax
Однако void main() не стандарт Си/Си++, но иногда оно используется !
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
02.06.2021, 00:45
Цитата Сообщение от Volga_ Посмотреть сообщение
используется для возвращаемого значения функции в типе void
никакого "возвращаемого значения" в функции типа void нет, функция такого типа ничего не возвращает
Цитата Сообщение от Volga_ Посмотреть сообщение
Посмотрите:
void main()
не записывайте так
Цитата Сообщение от Bananna29387694 Посмотреть сообщение
Какой оператор может стоять на месте нуля?
на месте нуля может находиться значение возвращаемое функцией
0
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
02.06.2021, 11:09
Цитата Сообщение от Yetty Посмотреть сообщение
никакого "возвращаемого значения" в функции типа void нет, функция такого типа ничего не возвращает
Как я сказал, что для главной функции программы main() оба return; c void и return 0; c int сделает удаление регистра eax. Вы не знаете, что возвращаемое значение функции всегда находится на регистре eax ?

Поэтому "возвращаемое значение" для обоих существует ! (И равно нулю !).

Цитата Сообщение от Yetty Посмотреть сообщение
не записывайте так
Конечно. Потому что
Цитата Сообщение от Volga_ Посмотреть сообщение
Однако void main() не стандарт Си/Си++, но иногда оно используется !
!!!!
0
19495 / 10100 / 2461
Регистрация: 30.01.2014
Сообщений: 17,808
02.06.2021, 11:23
Volga_, нет смысла рассматривать конкретную реализацию при обсуждении правил языка. Потому что в одном компиляторе возврат будет, в другом нет, в третьем этот код не скомпилируется вообще. В контексте языка C++ не существует никаких регистров, поэтому апеллировать к ним при обсуждении правил языка малость некорректно.
1
Модератор
Эксперт CЭксперт С++
 Аватар для Volga_
5208 / 2925 / 1509
Регистрация: 14.12.2018
Сообщений: 5,266
Записей в блоге: 1
02.06.2021, 11:43
Цитата Сообщение от DrOffset Посмотреть сообщение
Потому что в одном компиляторе возврат будет, в другом нет, в третьем этот код не скомпилируется вообще.
Да. Может быть так. Я использую студию 2019 с компилятором MSVC.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12933 / 6801 / 1820
Регистрация: 18.10.2014
Сообщений: 17,213
02.06.2021, 12:03
Цитата Сообщение от Volga_ Посмотреть сообщение
Как я сказал, что для главной функции программы main() оба return; c void и return 0; c int сделает удаление регистра eax.
Ваше "удаление регистра eax" не имеет прямого отношения к return. Вы можете выкинуть этот return вообще. Обнуление регистра все равно будет выполняться.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.06.2021, 12:03
Помогаю со студенческими работами здесь

Как сделать так, что если файл существует return true, если нет - return false
Здравствуйте, я новичок в программировании. Мой вопрос очень прост: как сделать так, что если файл существует return true если нет return...

Что означает запись в скобках и что возвращает return
Всем привет! Начал читать книгу BecomeAnXcoder и тут появился вопрос. В пример приведен такой код circleArea(float theRadius) //(1) ...

Не могу понять на что способен sort, и что делает его компаратор
Недавно мой знакомый рассказывал что-то про sort,говорил что с помощью него можно сортировать как хочешь и что хочешь,с сортировкой qSort и...

Что в программе делает так, что процессор грузится на 100%?
Я не очень разбираюсь в С++, поэтому прошу вашей подсказки по поводу нагрузки на процессор. Вот код программы, на компьютере жрет всю...

Я не могу понять что делает данная программа. Точнее что делают функции используемые в это коде
#include <iostream> #include <Windows.h> #include <ctime> using namespace std; int g(int a, int n); int s(int a, int n); int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru