Программирование

C++

Что такое C++?

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

Для чего нужен C++?

C++ остаётся там, где считают каждую миллисекунду.

  • Игровой движок
  • Быстрая часть браузера
  • Код рядом с операционной системой
  • Научный и графический счёт

Что можно делать с C++?

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

Сложно ли освоить C++?

Учить трудно. Указатели, время жизни и ошибки шаблонов останавливают новичка. Сначала увидеть C или другой язык помогает, но не обязательно. Первая полезная программа приходит позже, чем на Go или Python.

Плюсы и ограничения

Плюс: скорость, контроль и много готового промышленного кода. Ограничение: сборка может быть медленной, ошибка памяти опасна, для простой страницы этого слишком много. Rust в той же области проверяет память жёстче.

Основные понятия

Заголовок хранит объявление, файл исходника — реализацию. #include видит другой файл. new берёт память, delete или умный указатель её возвращает.

  • class держит состояние и функции вместе
  • шаблон подставляет тип позже
  • RAII связывает ресурс со временем жизни объекта
  • CMake или другая система описывает сборку

Короткий пример

Эта программа пишет одну строку в стандартный вывод и заканчивается нулём.

#include <iostream>

int main() {
    std::cout << "Hello\n";
    return 0;
}

Частые вопросы

  • C и C++ — одно и то же? Нет. C++ добавляет классы и шаблоны и часто принимает старый код C.
  • C++ для сайта? Не основной путь. Может быть в быстрой службе.
  • Каждый новый проект должен быть на C++? Нет. Для простой утилиты Go, Python или Java короче.