Найменьша програма мовою С++

Найменьша програма, яка не виконує ніяких дій, але в той же час може бути скомпільована та запущена на виконання, виглядає так:

int main()
{
}

Тут ми бачимо кілька елементів:

  • По-перше, необхідно зрозуміти, як програма виконується після запуску. Зазвичай програма ділиться на окремі частини, які можна виконати. Ці частини називають функціями. Функцію можна викликати - тоді програмний код з якого складається функція почне виконуватися. Рядок int main() означає, що ми створили функцію з назвою main. Кожна програма має містити таку функцію, адже коли ми запустимо програму на виконання - саме з виклику цієї функції почнеться робота програми.

  • Фігурні дужки { та} означають початок та кінець тіла функції main. Тіло функції містить текст програми, який буде виконуватися. У нашій програмі ми бачимо пусте тіло функції (очевидно, вона не виконує нічого).

Коли ми запустили скомпільовану програму, одразу починає виконуватися функція main, відповідно весь код, який містить тіло функції почне виконуватися.

Деталі: Тип повернення функції main

Функція main() повертає значення у результаті свого виконання - ціле число (тип int). Що це означає? Навіщо повертати число і чи не можна було обійтися без того (не повертати ніякого значення - тип void) ? І куди повертається це значення?

Насправді, це значення означає те, наскільки успішно виконалася програма. Значення 0 означає, що програма виконалася успішно і без помилок. Значення відмінне від нуля одначає, що під час роботи програми відбулася помилка і програма через це завершилася.

Починаючи зі стандарту мови С++ 2011 року, повернення значення для функції main можна не писати. У такому разі функція main поверне значення 0 за замовчуванням. Тому у нашому прикладі рядок return 0; у тілі функції відсутній.

Значення, яке повертає програма можна використати, наприклад, при створенні скрипта. Один з прикладів можна знайти тут: http://stackoverflow.com/questions/8696698/in-the-main-function-of-a-c-program-what-does-return-0-do-and-mean

Іноді початківці хибно вважають, що можна писати voidзамість int. Насправді, це не так. Функція main завжди мусить повертати int. Крапка. Читайте: https://isocpp.org/wiki/faq/newbie#main-returns-int

Last updated