Путь от кода к результату: редактор с кодом Hello World на C++, терминал с выводом программы и стрелка между ними

С чего начать изучение C++: пошаговая инструкция по установке компилятора и среды разработки, написание первой программы, разбор ошибок компиляции и запуск кода. Для начинающих — просто, понятно, с практикой.

Представь, что ты садишься за руль машины с механической коробкой передач. Сначала всё непривычно. Педали, рычаг, сцепление. Можно заглохнуть на светофоре. Но когда освоишь — чувствуешь полный контроль над дорогой. Автомат проще, но механика учит понимать, что происходит под капотом. C++ — это механика. Python и JavaScript — автомат. И сегодня ты заведёшь этот мотор.

Содержание

  1. Инструменты: что нужно установить
  2. Первая программа: Hello, World!
  3. Что происходит под капотом: препроцессор, компилятор, линковщик
  4. Компиляция и запуск
  5. Типичные ошибки новичков и как их читать
  6. Базовый ввод и вывод: делаем программу интерактивной
  7. Что дальше: план изучения C++
  8. Шпаргалка: основные команды и понятия первого урока по C++
  9. Полная шпаргалка: команды, ошибки, анатомия программы
  10. Заключение

Игры, браузеры, операционные системы, высоконагруженные серверы — всё это пишут на C++. Не потому что других языков нет. Потому что C++ даёт контроль над каждой инструкцией, которую выполняет процессор. Это язык, на котором создают то, что должно работать быстро и без компромиссов.

Многие боятся C++. Говорят, он сложный. Говорят, там ручное управление памятью и можно всё сломать. Это правда. Но правда и в другом. C++ требует внимательности, но зато даёт точные подсказки, где именно ошибка. Красным текстом. С номером строки. Осталось только научиться читать эти сообщения. И ты научишься. Прямо сегодня.

Ты уже освоил терминал и Git. Умеешь перемещаться по файловой системе и управлять версиями кода. Теперь пора писать код, который делает что-то полезное. К концу этой статьи ты установишь компилятор, напишешь первую программу, запустишь её, поймёшь, как читать ошибки компиляции, и добавишь программе интерактивности. Это не магия. Это навык. И он даётся быстрее, чем кажется.

Что мы узнали: C++ — это язык, который даёт полный контроль над компьютером. Он требует внимательности, но даёт точные подсказки. Сегодня мы пройдём путь от установки компилятора до работающей интерактивной программы.
Попробуй сам. Прямо сейчас подумай о программе, которую ты хотел бы написать. Игру, утилиту, калькулятор. Через час ты сделаешь первый шаг к этой цели.

Инструменты: что нужно установить

Для работы с C++ нужны две вещи. Компилятор — он переводит твой код в машинные инструкции. И редактор кода — в нём ты этот код пишешь. Компилятор — это переводчик. Редактор — это умный блокнот с подсветкой и подсказками. Можно писать код хоть в Блокноте и компилировать в терминале. Но умный блокнот ускоряет работу в разы.

В качестве редактора мы возьмём Visual Studio Code. Он бесплатный, работает на Windows, macOS и Linux, и у него огромный выбор расширений. После установки VS Code добавь расширение C/C++ от Microsoft — оно даст подсветку синтаксиса, автодополнение и удобный запуск.

C++ можно компилировать разными инструментами. Кроме GCC (g++) существуют Clang (clang++) и Microsoft Visual C++ (MSVC). Для обучения разница между ними не критична — синтаксис C++ един. Мы используем g++ потому, что он доступен на всех платформах и работает одинаково.

Теперь компилятор. Выбор зависит от твоей операционной системы.

Windows (рекомендуемый путь — MSYS2):

  1. Скачай установщик с msys2.org и установи его.
  2. Открой «MSYS2 UCRT64» из меню Пуск и введи: pacman -S mingw-w64-ucrt-x86_64-gcc
  3. Добавь C:\msys2\ucrt64\bin в переменную окружения PATH. Проверь: g++ --version

Если у тебя уже установлен winget, можно проще: winget install g++.

macOS:

  1. Открой терминал и введи: xcode-select --install
  2. Дождись установки Command Line Tools.
  3. Проверь: g++ --version

На macOS команда g++ вызывает компилятор на базе clang. Это не влияет на обучение: синтаксис C++ и флаги компиляции остаются одинаковыми. Проверить, какой именно компилятор используется, можно командой g++ --version.

Linux (Debian/Ubuntu):

  1. Открой терминал и введи: sudo apt update && sudo apt install g++
  2. Дождись установки.
  3. Проверь: g++ --version

Альтернативные способы установки: на macOS можно использовать Homebrew: brew install gcc. На Linux — snap: snap install gcc. Но рекомендуемый путь в этой статье — стандартные инструменты системы. Они точно будут работать.

⚠️ Осторожно: не забудь про PATH. На Windows важно добавить компилятор в переменную окружения PATH, иначе терминал не найдёт g++. Если после установки терминал пишет «'g++' is not recognized» — перезапусти терминал. Не помогло — проверь PATH. Введи echo %PATH% (Windows) или echo $PATH (macOS/Linux) и убедись, что путь к компилятору там есть. На macOS инструменты командной строки обычно лежат в /usr/bin или /Library/Developer/CommandLineTools/usr/bin/. Если после установки Xcode терминал не находит g++, проверь, что один из этих путей присутствует в $PATH.

Если что-то пошло не так при установке:

  • Windows: антивирус может блокировать установку MSYS2. Временно отключи его или добавь установщик в исключения.
  • macOS: ошибка «xcode-select: command not found» означает, что Command Line Tools не установлены. Повтори шаг 1.
  • Linux: ошибка «E: Unable to locate package g++» лечится командой sudo apt update перед установкой.
Что мы узнали: компилятор переводит код в программу. VS Code помогает писать код. PATH — это список папок, где система ищет программы. Без правильно настроенного PATH терминал не найдёт компилятор.
Попробуй сам. Установи компилятор и VS Code. Проверь командой g++ --version. Сделай скриншот успешного вывода — это твоё доказательство, что всё работает.

Первая программа: Hello, World!

Хватит подготовки. Давай напишем код. Открой VS Code, создай новый файл hello.cpp и набери следующее:

#include <iostream>

int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

Не копируй. Набери руками. Это важно — мышечная память начинает работать с первых строк. А теперь разберём каждую строчку. Потому что даже в этой маленькой программе скрыто много смысла.

#include <iostream> — директива препроцессора. Она подключает библиотеку ввода-вывода. Библиотека — это набор готового кода, который ты можешь использовать. iostream расшифровывается как input-output stream. Без неё программа не знает, как выводить текст на экран. Это как розетка: пока не воткнул вилку, электричество не пойдёт.

Пустая строка не влияет на код. Она отделяет подключение библиотек от самой программы. Читаемость — это важно.

int main() — точка входа. Операционная система начинает выполнение программы именно с этой функции. int означает, что функция возвращает целое число. Каждая программа на C++ обязана иметь функцию main. Без неё ОС не поймёт, с чего начинать.

{ — открывающая фигурная скобка. Начало тела функции. В C++ блоки кода обрамляются фигурными скобками, а не отступами как в Python. Отступы тут для красоты, скобки — для компилятора.

std::cout << "Hello, World!" << std::endl; — главная строка. Разберём по частям. std::cout — объект для вывода в консоль, живёт в пространстве имён std. << — оператор передачи данных, работает как стрелка: данные текут в сторону cout. "Hello, World!" — строковый литерал, текст, который мы выводим. std::endl — переводит курсор на новую строку, сокращение от end line. Точка с запятой в конце обязательна — она завершает оператор, как точка завершает предложение.

return 0; — возвращаем ноль операционной системе. Ноль означает «всё хорошо». Любое другое число — «произошла ошибка».

} — закрывающая фигурная скобка. Конец тела функции.

А знаете ли вы? Начиная с C++11, если программа доходит до конца main() без явного return, компилятор автоматически подставляет return 0;. Писать его не обязательно. Но в этом туториале мы будем писать явно — для наглядности и чтобы выработать привычку возвращать значение из функций.
⚠️ Осторожно: кириллица в именах файлов. Используй только латинские буквы для имён файлов и папок. hello.cpp — правильно, привет.cpp — неправильно. Некоторые компиляторы некорректно обрабатывают пути с кириллицей. В строках кода русский текст обычно работает, но вывод в консоль может отображаться некорректно из-за кодировки терминала. Если вместо текста видишь кракозябры — это проблема кодировки, а не синтаксиса. Для первых примеров лучше использовать английский текст.
Что мы узнали: Hello World состоит из директивы include, функции main, вывода в консоль и возврата значения. Каждая строка имеет смысл. Точка с запятой завершает оператор. Фигурные скобки обрамляют блоки кода.
Попробуй сам. Перепиши программу так, чтобы она выводила твоё имя. Например: std::cout << "Привет, я Алекс!" << std::endl;. Сохрани файл как hello.cpp.
Проверь себя: что делает std::endl? Чем его можно заменить?
Анатомия первой программы: код hello.cpp с цветными указателями на каждую строку и пояснениями.
Даже в трёх строках кода скрыто много смысла — директива include, функция main, вывод в консоль и возврат значения

Что происходит под капотом: препроцессор, компилятор, линковщик

Прежде чем запускать программу, давай разберёмся, как твой код превращается в исполняемый файл. Это не магия, а три последовательных этапа. Представь завод.

Препроцессор — отдел закупок. Он обрабатывает директивы, которые начинаются с решётки. Когда ты пишешь #include <iostream>, препроцессор берёт содержимое файла iostream и вставляет его на место этой строки. Буквально копирует тысячи строк библиотечного кода в твой файл. Ты этого не видишь, но это происходит.

Компилятор — станок. Он берёт код, прошедший через препроцессор, и переводит его в объектный код. Это промежуточное представление на машинном языке — единицы и нули, которые понимает процессор. На этом этапе проверяется синтаксис. Если ты забыл точку с запятой, компилятор скажет об этом.

Линковщик — сборочный цех. Он берёт все объектные файлы и собирает их в один исполняемый файл. Связывает вызовы функций с их определениями. Если ты использовал std::cout, линковщик найдёт реализацию cout в стандартной библиотеке и подключит её.

Почему это важно знать? Когда ты увидишь ошибку «undefined reference», ты будешь знать — это проблема на этапе линковки. А ошибка «expected ';'» — на этапе компиляции. Понимание этапов помогает быстро находить источник проблемы.

Что мы узнали: программа проходит три этапа перед запуском. Препроцессор подключает библиотеки. Компилятор переводит код в машинные инструкции. Линковщик собирает всё в один исполняемый файл. Каждый этап может дать свой тип ошибок.
Процесс компиляции: исходный код → препроцессор → компилятор → линковщик → исполняемый файл.
Три этапа превращают твой код в программу, которую понимает процессор

Компиляция и запуск

Теории было достаточно. Давай запустим программу. Мы будем использовать терминал — ты освоил его в первой статье серии, и теперь он пригодится. Открой терминал в папке с файлом hello.cpp. Для этого перейди в нужную папку через cd путь/к/папке.

Компиляция — одна команда:

g++ hello.cpp -o hello

Разберём: g++ — вызов компилятора. hello.cpp — исходный файл. -o hello — флаг -o (output) задаёт имя выходного файла. Если опустить -o hello, компилятор назовёт файл a.out на Linux/macOS или a.exe на Windows. Имя по умолчанию зависит от операционной системы, поэтому лучше всегда указывать -o с понятным именем — так ты точно будешь знать, какой файл запускать.

Если терминал молча отработал — компиляция прошла успешно. Запускаем:

./hello        # Linux/macOS
hello.exe      # Windows

Ты увидишь: Hello, World! Поздравляю. Ты только что написал и запустил свою первую программу на C++.

Для тех, кто хочет больше контроля, есть дополнительные флаги. -Wall включает все предупреждения (Warnings all) — компилятор будет сообщать о подозрительных местах, даже если формально код корректен. -std=c++17 указывает стандарт языка. Полная команда для осознанной компиляции выглядит так:

g++ -Wall -std=c++17 hello.cpp -o hello
⚠️ Осторожно. Если терминал пишет «'g++' is not recognized» или «command not found» — вернись к разделу установки и проверь PATH. На Windows после добавления в PATH обязательно перезапусти терминал.
Если ничего не работает — пройди этот чек-лист:
  1. Проверь, что компилятор установлен: g++ --version
  2. Проверь PATH: echo $PATH (macOS/Linux) или echo %PATH% (Windows)
  3. Проверь, что ты в той же папке, что и файл: pwd (Linux/macOS) или cd (Windows)
  4. Проверь имя файла: ls (Linux/macOS) или dir (Windows)
  5. Перезапусти терминал — иногда этого достаточно
Что мы узнали: g++ исходник.cpp -o программа компилирует код в исполняемый файл. Без -o файл назовётся a.out или a.exe. Флаги -Wall и -std=c++17 помогают писать современный и безопасный код.
Попробуй сам. Скомпилируй и запусти hello.cpp. Потом переименуй вывод через -o myhello и запусти снова. Попробуй с флагом -Wall — увидишь разницу в выводе.
Проверь себя: что произойдёт, если забыть флаг -o hello? Как будет называться исполняемый файл на твоей операционной системе?

Типичные ошибки новичков и как их читать

Ошибки компилятора — это подсказки, а не наказание. Компилятор говорит: «Я не понимаю эту строку, проверь её». Каждое сообщение содержит имя файла, номер строки, тип ошибки и описание. Научись читать эти сообщения — и ты перестанешь бояться красного текста.

Вот пример сообщения об ошибке. Разберём его по частям:

hello.cpp:5:12: error: expected ';' before 'return'
    5 |     std::cout << "Hello!" << std::endl
      |                                       ^
      |                                       ;

hello.cpp:5:12 — файл, строка 5, позиция 12. error: — это критическая ошибка, без исправления программа не скомпилируется. expected ';' before 'return' — компилятор ожидал точку с запятой перед return. Стрелка и подсказка показывают точное место проблемы.

Теперь разберём конкретные ошибки. Каждую ты встретишь в первые недели программирования.

Ошибка 1: пропущена точка с запятой. Компилятор: g++ (GCC) на Linux / macOS / Windows. В других компиляторах формулировка может немного отличаться, но суть та же.

std::cout << "Hello!" << std::endl  // нет ;

Сообщение: error: expected ';' before 'return'. Как исправить: добавить ; в конец строки. C++ требует точку с запятой после каждого оператора. Это как точка в предложении — без неё непонятно, где заканчивается одна мысль и начинается другая.

Ошибка 2: забыли std::.

cout << "Hello!" << endl;  // без std::

Сообщение: error: 'cout' was not declared in this scope. Как исправить: добавить std:: перед cout и endl. cout и endl живут в пространстве имён std. Это как фамилия — без неё непонятно, о каком именно cout речь. В стандартной библиотеке C++ все имена находятся в пространстве std.

Ошибка 3: нет функции main. Ошибка возникает на этапе линковки.

#include <iostream>
// функция main отсутствует

Сообщение: undefined reference to 'main'. Как исправить: добавить int main() { ... }. Операционная система ищет main как точку входа. Без неё непонятно, с чего начинать выполнение.

Ошибка 4: неправильное имя файла при компиляции.

g++ hello.cppp -o hello  # опечатка в расширении

Сообщение: error: hello.cppp: No such file or directory. Как исправить: проверить имя файла. Используй Tab для автодополнения — это спасёт от опечаток.

Ошибка 5: не закрыта кавычка.

std::cout << "Hello!;  // нет закрывающей кавычки

Сообщение: error: missing terminating " character. Как исправить: добавить закрывающую кавычку. Компилятор ищет пару для каждой кавычки. Если кавычка не закрыта, он считает строкой весь дальнейший код — и теряется.

Ошибка 6: не закрыта фигурная скобка.

int main() {
    std::cout << "Hello!";
    return 0;
// нет закрывающей }

Сообщение: error: expected '}' at end of input. Как исправить: добавить } в конец файла. Каждая { должна иметь парную }. Компилятор дошёл до конца файла и не нашёл закрывающую скобку.

Что мы узнали: ошибки компилятора содержат файл, строку и описание. expected ';' — пропущена точка с запятой. not declared in this scope — забыл std::. undefined reference to 'main' — нет функции main. No such file or directory — опечатка в имени файла. Читай ошибки внимательно — они говорят, что именно не так.
Попробуй сам. Специально сломай программу шестью способами — по одному на каждую ошибку. Прочитай каждое сообщение компилятора. Попробуй понять его до того, как смотреть расшифровку. Почувствуй, что ошибки — это не страшно.
Проверь себя: какую ошибку выдаст компилятор, если написать std::cout << Hello; (без кавычек)?
Типичные ошибки новичков: окно терминала с красным текстом ошибки, рядом иконка лампочки.
Ошибки — это подсказки компилятора, а не повод для паники

Базовый ввод и вывод: делаем программу интерактивной

Программа, которая просто выводит текст — это скучно. Давай добавим взаимодействие. Программа спросит имя и поздоровается лично.

#include <iostream>
#include <string>

int main() {
    std::string name;
    std::cout << "Как тебя зовут? ";
    std::cin >> name;
    std::cout << "Привет, " << name << "!" << std::endl;
    return 0;
}

Разберём новые элементы. #include <string> — подключаем библиотеку для работы со строками. std::string name; — объявляем переменную name типа «строка». Переменная — это контейнер для данных. std::cin >> name; — ввод с клавиатуры. std::cin читает введённый текст до первого пробела и сохраняет в переменную name. Оператор >> направляет данные из cin в переменную. "Привет, " << name << "!" — склеиваем несколько фрагментов в один вывод. Можно комбинировать текст и переменные.

Важное замечание: std::cin >> читает только одно слово — до пробела. Если пользователь введёт «Анна Мария», в name попадёт только «Анна». Для чтения целой строки используется std::getline(std::cin, name);. Она живёт в той же библиотеке <string>, которую мы уже подключили — добавлять новый #include не нужно. Это тема следующей статьи.

Что мы узнали: std::cin позволяет программе принимать ввод от пользователя. Переменные хранят данные. std::string — тип для текста. Оператор << склеивает фрагменты вывода. std::cin >> читает одно слово до пробела.
Попробуй сам. Напиши программу, которая спрашивает имя и возраст, а затем выводит: «Тебя зовут [имя], тебе [возраст] лет». В этом примере мы используем два отдельных cin: один для имени, второй для возраста. Именно поэтому ввод «Иван 25» сработает: первый cin берёт слово до пробела, второй — следующее слово. Это не магия, а логика работы оператора >>.
Проверь себя: что хранит переменная name после выполнения std::cin >> name;, если пользователь ввёл «Иван Петров»?

Что дальше: план изучения C++

Ты написал и запустил первую программу. Научился читать ошибки компилятора. Добавил программе интерактивности. Это база. Дальше — больше.

Ближайшие темы:

  • Переменные и типы данных: int, double, char, bool, std::string.
  • Управляющие конструкции: if/else, for, while.
  • Функции: как писать свои функции и разделять код на файлы.
  • Указатели и работа с памятью — но это сильно потом, когда будет база.

Настройка VS Code для удобной работы. Расширение C/C++ уже установлено. Чтобы собирать проект по Ctrl+Shift+B: нажми Ctrl+Shift+B, выбери «Configure Build Task», затем g++. VS Code создаст файл .vscode/tasks.json с настройками сборки. Подробнее — в документации Microsoft по настройке C++ в VS Code.

А знаете ли вы? В некоторых туториалах ты увидишь строку using namespace std; в начале программы. Она позволяет писать cout вместо std::cout. Экономит несколько символов, но в реальных проектах так делать не принято. Причина: пространство имён std огромно, и using namespace std; «вываливает» все его имена в твой код. Если среди них окажется имя, которое ты уже использовал — возникнет конфликт. В учебных целях это допустимо, но мы будем использовать std:: — это дисциплинирует и готовит к работе с реальным кодом.
CMake простым языком: открытый блокнот с файлом CMakeLists.txt и подписью «Этот файл говорит компилятору: собери программу myapp из файла main.cpp».
Система сборки — это не страшно. Одна строчка, и компилятор знает, что делать

Полезные ресурсы:

Следующая статья по плану: «Docker для разработчика: как упаковать приложение и запустить локально». Docker пригодится C++ разработчику для создания воспроизводимого окружения: твоя программа будет собираться и работать одинаково на любой машине, независимо от версий компилятора и библиотек. Это следующий уровень контроля над окружением.

Что мы узнали: C++ — это марафон, а не спринт. Первый шаг ты уже сделал. Дальше — переменные, циклы, функции и свой первый проект.

Шпаргалка: основные команды и понятия первого урока по C++

Сохрани эту шпаргалку. В первые недели она выручит тебя при компиляции и поиске ошибок. Команды сгруппированы по задачам: сначала компиляция, потом синтаксис, потом запуск.

Понятие
Описание
Пример
g++
Компилятор GNU C++
g++ main.cpp -o program
g++ -o
Задать имя выходного файла
g++ main.cpp -o myapp
g++ -Wall
Включить все предупреждения
g++ -Wall main.cpp -o myapp
g++ -std=c++17
Указать стандарт языка
g++ -std=c++17 main.cpp -o myapp
g++ --version
Проверить версию компилятора
g++ --version
#include
Подключение библиотеки
#include <iostream>
int main()
Точка входа в программу
int main() { ... }
std::cout
Вывод в консоль
std::cout << "Hello";
std::cin
Ввод с клавиатуры
std::cin >> переменная;
std::endl
Перевод строки и сброс буфера
std::cout << std::endl;
\n
Перевод строки без сброса буфера
std::cout << "Hello!\n";
std::string
Тип данных для текста
std::string name = "Анна";
<<
Оператор вывода
std::cout << данные;
>>
Оператор ввода
std::cin >> данные;
return 0
Успешное завершение программы
return 0;
./program
Запуск (Linux/macOS)
./hello
program.exe
Запуск (Windows)
hello.exe
;
Завершение оператора
Обязательна после каждого действия
Компиляция
Перевод кода в машинный код
g++ файл.cpp -o программа
Препроцессор
Обрабатывает #include и другие директивы
Срабатывает до компиляции
Структура простого C++ проекта: main.cpp, CMakeLists.txt, папка build.
Так выглядит минимальный проект на C++ — один исходный файл и система сборки

Полная шпаргалка: команды, ошибки, анатомия программы

Эта шпаргалка — расширенная версия. Здесь собрано всё, что ты узнал из статьи: команды компиляции, типичные ошибки, анатомия Hello World и ввод-вывод. Мы подготовили её в формате PDF — скачай по кнопке в конце статьи и держи под рукой.

Часть 1: Команды g++

Команда
Что делает
Пример
g++ файл.cpp -o имя
Компилирует исходник в исполняемый файл
g++ hello.cpp -o hello
g++ -Wall
Включает все предупреждения
g++ -Wall hello.cpp -o hello
g++ -std=c++17
Указывает стандарт языка
g++ -std=c++17 hello.cpp -o hello
g++ --version
Показывает версию компилятора
g++ --version
./hello или hello.exe
Запускает скомпилированную программу
./hello (Linux/macOS)
hello.exe (Windows)

Часть 2: Типичные ошибки и как их исправить

Ошибка
Сообщение компилятора
Как исправить
Пропущена ;
error: expected ';' before 'return'
Добавить ; в конец строки
Забыт std::
error: 'cout' was not declared in this scope
Добавить std:: перед cout, cin, endl
Нет функции main
undefined reference to 'main'
Добавить int main() { ... }
Опечатка в имени файла
error: ... No such file or directory
Проверить имя файла, использовать Tab для автодополнения
Не закрыта кавычка
error: missing terminating " character
Добавить закрывающую кавычку "
Не закрыта скобка }
error: expected '}' at end of input
Добавить } в конец файла

Часть 3: Анатомия Hello World

#include <iostream>      // Подключает библиотеку ввода-вывода

int main() {              // Точка входа: отсюда начинается программа
    std::cout             // Вывод в консоль
        << "Hello, World!" // Текст для вывода (строковый литерал)
        << std::endl;      // Перевод строки (end line)
    return 0;             // Возврат 0 = программа завершилась успешно
}

Каждая программа на C++ обязана иметь функцию main(). std::cout выводит данные в консоль. std::endl переносит курсор на новую строку. return 0 сообщает системе, что всё прошло успешно.

Часть 4: Ввод и вывод

Операция
Код
Что происходит
Вывод текста
std::cout << "Привет";
Выводит «Привет» в консоль
Ввод одного слова
std::cin >> переменная;
Читает ввод до первого пробела
Ввод строки с пробелами
std::getline(std::cin, str);
Читает всю строку до Enter
Склеивание вывода
std::cout << "Имя: " << name;
Текст + переменная в одной строке
Объявление строки
std::string name;
Создаёт переменную для текста (нужен #include <string>)

Заключение

Ты написал и запустил свою первую программу на C++. Это не просто «Hello, World!». Это твой первый шаг в мир, где ты контролируешь каждую инструкцию, которую выполняет компьютер. Ты установил компилятор, разобрался с синтаксисом, научился читать ошибки и добавил программе интерактивности. Это база. С ней ты уже можешь экспериментировать.

C++ — это марафон. Не нужно учить всё сразу. Сегодня ты освоил достаточно, чтобы начать. Дальше — практика. Каждый день понемногу. Переменные, циклы, функции — темы следующих статей. А пока закрепи результат.

Что сделать прямо сейчас? Напиши программу, которая выводит в консоль что-то забавное. Шутку, ASCII-арт, приветствие. Скомпилируй с флагом -Wall. Исправь все предупреждения. Запусти. Покажи результат другу или в чате. Докажи себе: «Я могу написать и запустить программу на C++». Потому что это правда. Ты можешь.

В следующей статье ты узнаешь, как упаковать приложение в Docker-контейнер. Docker пригодится C++ разработчику для создания воспроизводимого окружения: твоя программа будет собираться и работать одинаково на любой машине, независимо от версий компилятора и библиотек. А пока — скачай шпаргалку и держи её рядом. Пригодится.

Скачай PDF-шпаргалку «Первые шаги в C++: команды, ошибки, Hello World»

Внутри: таблица всех команд g++ с флагами, список из 6 типичных ошибок с пояснениями и способами исправления, анатомия первой программы Hello World с разбором каждой строки и шпаргалка по вводу-выводу (cin, cout, string). Можно распечатать и держать рядом, пока учишься.

Скачать PDF