Я знаю, что стандарт С++ говорит, что return 0
вставлен в конце main()
, если не указан оператор возврата; однако я часто вижу недавно написанный стандартно-совместимый код на С++, который явно возвращает 0 в конце main()
. По каким причинам кто-то хочет явно вернуть 0, если это автоматически выполняется компилятором?
Каковы причины/против возвращения 0 из основного в ISO С++?
Ответ 1
Потому что просто странно не "возвращать" что-то из функции, имеющей невоенный тип возврата (даже если стандарт говорит, что это не является строго необходимым).
Ответ 2
Явным образом вы явно показываете свои намерения.
Опираясь на что-то неявное, вы можете иметь 2 случая: 1) вы намеревались это сделать, 2) вы забыли его.
Ответ 3
-
Делает это понятным для других программистов, что вы не просто забыли поставить там оператор return.
-
Некоторые компиляторы могут выдать предупреждение, если вы ничего не вернете.
-
Показывает явно, что возвращает функция.
-
Многие программисты не знают об этом правиле.
Ответ 4
Непонимание. Просто нет причин, и если кто-то не знает, что они добавят return 0;
.
Ответ 5
Просто потому, что ваш код соответствует стандарту, который говорит, что ваш код будет запущен через совместимый компилятор? Верьте или нет, люди используют компиляторы, а не только последние версии GCC и Visual С++.
И, конечно, есть явное намерение, о котором говорили все остальные.
Ответ 6
Это делает поведение кода явным.
Ответ 7
Потому что некоторые люди не знают. Не обязательно люди, которые писали этот код (хотя это и возможно), но некоторые люди там. Явно писать return 0;
с ними приятно.
Кроме того, в качестве конвенции он делает язык более однородным, что эстетически важно, по крайней мере, для меня.
Ответ 8
Потому что так они и делали это 30 лет назад. Это скорее соглашение ИМО.
Ответ 9
Я часто делаю это, потому что часто компилирую код для прямого C, поэтому я либо печатаю его по привычке, либо потому, что у созданного мной фрагмента main()
есть явный возврат. Нет причин для его удаления, поэтому он обычно остается.
Опять же, бывают случаи, когда я не буду вводить его (возможно, я понял, что мне это не нужно), или я, возможно, использовал другой фрагмент.