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 короче.