На этом шаге мы рассмотрим особенности определения функции main().
Нужно также прояснить очень важный и часто неверно понимаемый аспект базового языка, а именно правильность функции main(). Согласно стандарту C++, переносимыми являются только два определения main():
int main() int main(int argc, char* argv[])
Здесь argv (массив аргументов командной строки) также может определяться с типом char**. Еще обратите внимание на обязательное указание типа возвращаемого значения int, поскольку подстановка int по умолчанию считается нежелательной.
Функция main() может (хотя и не обязана) завершаться командой return. В отличие от С в языке C++ main() по умолчанию завершается командой
return 0;
Из этого следует, что любая программа, в которой выход иэ main() происходит без команды return, завершается успешно (любое значение, отличное от 0, свидетельствует о нестандартном завершении). Учтите, что некоторые компиляторы могут выдавать предупреждение и даже сообщение об ошибке при отсутствии команды return.
На следующем шаге мы рассмотрим сложность алгоритмов.