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

слышал что в с++ функция main всегда неявно возвращает в конце return 0 и поэтому писать это не нужно. так ли это?

может быть кто знает, где читать документацию по с++ официальную, чтобы не нарваться на ошибки?
Andrey Radion
Andrey Radion
3 022
Да. Но на мой взгляд, это идиотское правило. Гораздо проще всегда писать return 0, чем помнить о таких правилах.
Такие вещи проще проверить, чем спрашивать. Если бы этого правила не было, была бы ошибка компиляции.

Есть несколько стандартов C++: С++11, С++14, С++17 (самый новый). Есть и более старые стандарты.
Ссылки на официальные документы можно найти в Википедии. Ой, оказывается с официального сайта нельзя бесплатно скачать.
Александр Зимин
Александр Зимин
36 282
Лучший ответ
Лень написать Return 0? Вот честно скажи!
Andrey Radion не лень а банальное любопытство
Ikram Kurbanov Вообще-то я и не пишу. Незачем писать то, о чем я точно знаю, что оно не нужно :)
Лучше не рассчитывать на неявные вещи и писать как положено явно.
IL
Ismail Lazgiev
88 928
Она возвращает не 0, а EXIT_SUCCESS.
Это во-первых. А во-вторых, это только для main. Другие функции могут не следовать этому правилу, т. к. в Си можно подключать функции на другм языке и вообще писать функции без пролога и эпилога.
Павел Николаев
Павел Николаев
26 548
"может быть кто знает, где читать документацию по с++ официальную, чтобы не нарваться на ошибки?"
Никакая документация вам всего не даст.
Тут нужна стажировка в каком-то более или менее "эталонном" проекте, где строго следят за стилем кода. Необязательно устраиваться в крупную фирму - тимлиды из крупных фирм могут работать еще и в чьих-то мелких проектах. В крайнем случае, просто найти их на форумах и общаться, а код на гитхабе исследовать самому.
Если оно в чем-то и расходится с документацией, то это неважно. Ценнее реальное положение дел, а не на бумаге.

Насчет EXIT_SUCCESS: из сказанного выше можно решить, что если возвращать явно, то нужно возвращать EXIT_SUCCESS. Это не так. Его можно возвращать только в том случае, если используете и EXIT_FAILURE, а иначе использовать 0. Вообще оно скорее не практикуется, чем да - оно длиннее и затрудняет чтение.
Йоганн Вайс
Йоганн Вайс
5 149