Другие языки программирования и технологии

Объясните, что такое return 0 в C++

У меня что то типа реферата в колледже и мне нужно коротко и ясно описать эту функцию. Прошу вашей помощи
Здесь есть что найти для реферата: http://fevt.ru/publ/int_or_void_main/11-1-0-179

Только вместо EXITSDCCESS нужно использовать EXIT_SUCCESS
АШ
Анатолий Шумков
91 641
Лучший ответ
Возврат нуля из какой-то функции/метода.
Если из Main - то это код результата выполнения, возвращается в ОС.
Cлава Солярский
Cлава Солярский
71 914
В любом языκе nρоƨρаммuρованuя есmь nρоцеgуρы u фунκцuu; nρоцеgуρа - эmо nρосmо gеúсmвuе, а фунκцuя - gолжна выnолнumь gеúсmвuе u обязаmельно обозначumь ("веρнуmь") ρезульmаm эmоƨо gеúсmвuя (выnолнено, не выnолнено u m.g.). RETURN 0 - эmо значum, фунκцuя возвρащаеm 0. Чmо эmо означаеm - завuсum оm условuя в фунκцuu, nρu κоmоρом она возвρащаеm 0 (наnρuмеρ, "Оnеρацuя выnолнена усnешно").
Калижан Исенов
Калижан Исенов
35 306
Коротко и ясно:
yourFunction():
push rbp
mov rbp, rsp
mov eax, 0 ; вот эта строчка и есть твой return 0;
pop rbp
ret

Помещает в регистр eax значение перед выходом из функции... строки c rbp и rsp - для смены стека
Для того это делается, что бы когда ты сделаешь допустим
a = yourFunction();

то произайдёт следующее:
call yourFunction()
mov DWORD PTR a[rip], eax
Евгений Руденко xor eax, eax ;так меньше памяти занимает
return 0; - это оператор возврата значения 0 или 1 из главной функции main() твоей программы.
0 - удачное завершение функции main, значение 1 свидетельствует о неудачном завершении функции main.

Описание http://www.c-cpp.ru/books/znacheniya-vozvrashchaemye-funkciey-main
Как писалось ранее return 0; возвращает 0.
я так для наглядности еще напишу, вот допустим стандартная функция!
int func () {
return 1;
}
тут функция возвращает 1.
А щас тут функция с переменной
int func () {
int a = 5;
return a;
}
Функция возвращает переменую а, то есть если сейчас эту функцию вывести на консоль то будет... как думаете? будет 5!
А еще можно сделать 2 переменые.
int func () {
int a = 3;
int b = 4;
return a + b;
}
Как думаете что выведется на консоль?
Евгений Руденко void func(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
А что выполняет эта функция?
Эдуард Махов void испотзуется где не чего не надо возвращать, то есть не чего?)