Почему возвращаемое по умолчанию значение main равно 0, а не EXIT_SUCCESS?
Стандарт ISO 1998 c ++ указывает, что неявное использование оператора возврата в основном эквивалентно использованиюreturn 0
.
But what if an implementation has a different standard "no error" code, for example -1
?
Почему бы не использовать стандартный макросEXIT_SUCCESS
это будет заменено либо0
или же-1
или любое другое значение в зависимости от реализации?
C ++, кажется, усиливает семантику программы, а не роль языка, который должен только описывать поведение программы. Более того, ситуация с «ошибкой» иная. возвращаемое значение: толькоEXIT_FAILURE
является стандартной «ошибкой» флаг завершения, без явного значения, такого как "1" например.
Каковы причины этого выбора?