/
-
/
Курс C++
/

Структура программы в С++

С++: Структура программы в С++

Давайте посмотрим на листинг программы из прошлого урока.

#include <iostream> 

int main() {
  std::cout << "Mother of Dragons\n";
  std::cout << "Dracarys!\n";
  return 0;
}

В верхней части листинга мы видим такую запись:

#include <iostream>

#include - это директива препроцессора, с помощью неё мы подключаем заголовочные файлы различных библиотек. В данном случае мы подключили iostream - библиотека для организации ввода/вывода.

Далее идет определение функции main. В С++ любая программа начинается с функции main - это её входная точка.

Функция может принимать аргументы, например, если это консольное приложение, то это будут аргументы командной строки:

int main (int argc, char *argv[]) {
   // some code
}

или же быть без аргументов:

int main() {
  // some code
}

Тело функции обрамлено фигурными скобками, внутри идет набор инструкций, которые выполняет функция, каждая инструкция должна оканчиваться точкой с запятой ;.

Код возврата

Когда наша программа завершает свою работу, операционной системе важно понимать как отработала программа: успешно или нет. Рассмотрим минимальное определение функции main:

int main() {
 return 0;
}

Обратите внимание на return - это инструкция возврата из функции(подробнее о возвращаемых значениях мы познакомимся в уроках про функции).

Стандарт C++ определяет значение только трех кодов состояния: 0, EXIT_SUCCESS и EXIT_FAILURE. 0 и EXIT_SUCCESS означают, что программа выполнена успешно. EXIT_FAILURE означает, что программа не была успешно выполнена. EXIT_SUCCESS и EXIT_FAILURE определены в заголовочном файле <cstdlib>:

#include <cstdlib>

int main() {
  return EXIT_SUCCESS // эквивалентно 0
}

Если вы хотите максимизировать портируемость, вы должны использовать только 0 или EXIT_SUCCESS.

Задание

В этом упражнение мы сново потренируемся выводом в консоль, только теперь вы напишите функцию main самостоятельно.

Не забудьте подключить библиотеку для ввода/вывода.

Выведете в консоль фразу Hello, Code Basics!

Полезное

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются