Курс на Stepik
Обложка курса «Playful code. С++ without memory allocations» на Stepik
5 000 ₽

Playful code. С++ without memory allocations 0.000

Открыть на
STEPIK.ORG

The course is dedicated to C++ programming without using the heap. It explores which features of the language and the standard library can be safely applied in resource-constrained environments — such as embedded systems or game projects, where dynamic memory may be limited or outright forbidden. You’ll learn how to write efficient and reliable code while avoiding hidden allocations that can occur in standard library containers, strings, virtual functions, and other C++ mechanisms.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Playful code. С++ without memory allocations»Учеников на курсе 0
Сертификаты, выданные на курсе «Playful code. С++ without memory allocations»Сертификатов выдано 0
Отзывы о курсе «Playful code. С++ without memory allocations»Отзывов получено 0
Рейтинг курса «Playful code. С++ without memory allocations»Рейтинг курса 0.000
Уроки в курсе «Playful code. С++ without memory allocations»Количество уроков 45
Тесты в курсе «Playful code. С++ without memory allocations»Количество квизов 171
Задачи с кодом в курсе «Playful code. С++ without memory allocations»Количество задач с кодом 11
Время прохождения курса «Playful code. С++ without memory allocations»Время прохождения курса
Стоимость курса «Playful code. С++ without memory allocations»Стоимость курса 5 000 ₽
Обновления курса «Playful code. С++ without memory allocations»Обновления курса
Дата публикации курса «Playful code. С++ without memory allocations»Дата публикации курса
Последнее обновление курса «Playful code. С++ without memory allocations»Последнее обновление
Сложность normal

Чему вы научитесь

Many features of C++ and its standard library make transparent use of dynamic memory — that is, the heap. On desktop systems, this is rarely an issue: the heap is always available and can be used freely. But in embedded development or game programming, things get trickier — dynamic memory may be heavily restricted, or even outright forbidden.

This raises a key question: which parts of C++ are safe to use, and which are not? The answer isn’t always obvious. For instance, some STL containers always rely on new, meaning they allocate from the heap. Even familiar constructs like std::string or virtual functions can secretly trigger dynamic allocations. As a result, developers often find themselves wondering: how much of the language must I “cut away” to write heap-free code?

This course is exactly about that — how to write modern, efficient C++ without using dynamic memory, while keeping all the benefits of the language intact.

О курсе

The course is dedicated to C++ programming without using the heap. It explores which features of the language and the standard library can be safely applied in resource-constrained environments — such as embedded systems or game projects, where dynamic memory may be limited or outright forbidden. You’ll learn how to write efficient and reliable code while avoiding hidden allocations that can occur in standard library containers, strings, virtual functions, and other C++ mechanisms.

Для кого этот курс

This course is designed for developers who need to write fast and reliable code without using dynamic memory. It will be especially useful for those working with embedded systems, game development, or console and mobile platforms, where any hidden memory allocations can slow down performance or cause unexpected errors. The course is also suitable for experienced C++ developers who want to learn how to use modern language features and write efficient, safe code — preserving the convenience of working with objects and polymorphism, but without unnecessary heap allocations.

Начальные требования

Prerequisites for the course:

  • Basic knowledge of C++: understanding of syntax, functions, classes, structures, and pointers.

  • Experience with Object-Oriented Programming (OOP): inheritance, polymorphism, and virtual functions.

  • Familiarity with the Standard Template Library (STL): containers, strings, and algorithms.

  • Ability to work with compilers and build systems: knowledge of basic compiler flags, and the ability to run and debug programs.

  • A basic understanding of memory layout: stack, heap, and data segment.

These skills will help you quickly get into the material and focus on optimising code without using dynamic memory.

Преподаватели курса

Как проходит обучение

How the course is structured:

The course combines theory with hands-on practice. Each topic begins with an explanation of how C++ features work without relying on dynamic memory, followed by practical examples. First, you’ll see a classic solution that uses the heap, and then you’ll learn how to rewrite it using only static or stack-based memory.

Throughout the course, you will:

  • Practise replacing standard solutions with more efficient alternatives;

  • Rewrite code to work without new and delete;

  • Use compile-time mechanisms to replace RTTI and dynamic_cast;

  • Apply modern C++20 features to write efficient and safe code.

Что вы получите

  • An understanding of which C++ features rely on dynamic memory — and how to work around them.
  • Practical skills in writing code without using the heap, relying solely on the stack and static buffers.
  • The ability to preserve polymorphism, interfaces, and OOP principles without virtual functions or RTTI.
  • Experience in replacing standard STL containers with fixed-size data structures.
  • Skills in manually optimising and analysing code to detect hidden dynamic memory usage.
  • Preparation for developing game systems or embedded software where heap allocation is limited or entirely prohibited.

Нагрузка

4-5 часов в неделю

Расскажите о курсе друзьям