Урок 0: зачем вообще C++?
В более ранних уроках по C вы видели, как такой язык даёт полный контроль над памятью и оборудованием — но за плату: любая большая кодовая база превращается в ручной труд по сопровождению, без классов, без шаблонов, без инструментов, чтобы всё это организовать. Так зачем добавлять ещё один язык, C++
C++ — как C с организующим инструментарием: тот же точный контроль над памятью и временем плюс способ строить большие системы, не превращая код в беспорядок.
- сборка мусора (garbage collection, GC)
- Автоматический механизм, который освобождает больше не используемую память, но может приостановить программу на непредсказуемое время для выполнения очистки.
- ограничение реального времени (real-time constraint)
- Требование, чтобы операция завершилась в пределах фиксированного, известного временного окна, — например, отрисовка кадра каждые 16 миллисекунд, чтобы держать 60 кадров в секунду.
- ручной контроль памяти
- Способность точно решать, когда память выделяется и когда освобождается, не полагаясь на непредсказуемый фоновый процесс.
- абстракция при масштабе
- Инструменты для организации большого кода — классы, шаблоны и STL, — которые позволяют строить сложные системы, не теряя контроля над производительностью.