Dlaczego domyślna wartość powrotu main wynosi 0, a nie EXIT_SUCCESS?

Standard ISO 1998 c ++ określa, że ​​nie używanie jawnie instrukcji return w głównym jest równoważne użyciureturn 0. Ale jeśli na przykład implementacja ma inny standardowy kod „bez błędu”-1?

Dlaczego nie użyć standardowego makraEXIT_SUCCESS które zostaną zastąpione przez0 lub-1 lub dowolna inna wartość w zależności od implementacji?

C ++ wydaje się wymuszać semantyczną treść programu, co nie jest rolą języka, który powinien opisywać tylko zachowanie programu. Ponadto sytuacja jest inna dla wartości zwracanej „błąd”: tylkoEXIT_FAILURE jest standardową flagą zakończenia „błędu”, bez wyraźnej wartości, na przykład „1”.

Jakie są przyczyny tych wyborów?

questionAnswers(9)

yourAnswerToTheQuestion