Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/75: Рейтинг темы: голосов - 75, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 14.09.2016
Сообщений: 153

Return и exit, в чем разница?

25.11.2017, 16:28. Показов 15204. Ответов 4

Студворк — интернет-сервис помощи студентам
Чем отличаются return и exit?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.11.2017, 16:28
Ответы с готовыми решениями:

В чем разница между return и return false/true
Привет всем. Вот подскажите плиз) return; return false; return true; расскажите пожалуйста об етих операторах.. чем они...

В чем разница между quit(),exit() и terminate() ?
Читал описание класса QThread и не могу понять в чем собствнно различие функций quit(),exit() и terminate(). чем лучше остановить поток?

Операторы Exit, Close, Application.Terminate в чем разница между ними?
Хочу понять разницу между этими операторами. Например, оператор Application.Terminate выходит из программы, то же делает и Close. ТОгда...

4
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
25.11.2017, 18:00
Лучший ответ Сообщение было отмечено Матричный бог как решение

Решение

exit можно вызывать из любого места программы, не только из main
1
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.11.2017, 18:55
exit - это функция, которая завершает программу, откуда бы ни была вызвана. return - это оператор, который завершает работу текущей функции (т.е. передаёт управление в точку вызова текущей функции)

Если речь идёт о функции main, то return и exit по смыслу можно считать, что одно и то же. В случае выхода из main'а оператором return управление будет передано в системную часть в точку вызова main, а оттуда будет вызвана функция exit

Однако когда речь идёт о Си++, то разница есть. По оператору return будут вызваны деструкторы всех локальных живых объектов. А по exit - ничего вызвано не будет. Т.е. в C++ return и exit в main'е в общем-то отличаются поведением (в отличие от C)
2
 Аватар для COKPOWEHEU
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,928
25.11.2017, 19:52
Ну, тема все-таки Си так что не все так плохо.
Вот про то что в С++ деструкторы не вызываются я не знал. Не подскажете, вызываются ли функции с атрибутом __attribute__((destructor)) и atexit()?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
25.11.2017, 20:49
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Вот про то что в С++ деструкторы не вызываются я не знал
С точки зрения языка вызов функции exit - это вызов обычной функции, который никак не должен приводить к вызову деструкторов локальных объектов. Точнее, привести может, но только в том случае, если из-под функции прилетит исключение, чего с exit'ом не происходит. На деструкторы глобальных объектов это НЕ распространяется, их деструкторы вызовутся при любом "нормальном" завершении программы, т.е. кроме случаев, когда программа умерла без возможности что-то сделать (грубо говоря, по сигналу)

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Не подскажете, вызываются ли функции с атрибутом __attribute__((destructor)) и atexit()?
Вызываются. atexit вызывается из exit, глобальные деструкторы (деструкторы С++ для глобальных объектов, функции с атрибутом destructor, может какие-то другие подобные расширения) - примерно там же

Добавлено через 3 минуты

Не по теме:

Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Ну, тема все-таки Си
Лишние знания никогда не помешают



Добавлено через 2 минуты

Не по теме:

В том числе и по причине, описанной здесь, на текущий момент в предпоследнем абзаце

1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.11.2017, 20:49
Помогаю со студенческими работами здесь

замена exit(0) на return
необходимо заменить exit(0) из данного куска кода на return в main, используя при этом true-дальнейшее действие программы (есть функция,...

В чем разница между exit(код возврата) и ExitProcess (код возврата)?
Я так себе представляю, имеется два варианта выхода из приложения, с передачей кода возврата: 1. Функцией ExitProcess(код возврата); 2....

exit(); и return; не останавливают выполнение
Здравствуйте. Вот такая проблема. if (isset($_POST)){ switch($_POST){ case 'cmd1': print_page1(); exit()(или...

Разница между System.exit(0) и setDefaultCloseOperation
Здравствуйте. Существуют два кода: jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE); и addWindowListener(new...

Разница между return и yield
Здравствуйте. В интернете нашёл не так много ответов, поэтому обращаюсь сюда. В чём разница и конкретно в каких случаях подходят return и...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru