Курс на Stepik
Обложка курса «Нескучное программирование. С++ без аллокаций памяти» на Stepik
5 000 ₽

Нескучное программирование. С++ без аллокаций памяти 0.000

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

Курс посвящён программированию на C++ без использования кучи. Рассматривается какие возможности языка и стандартной библиотеки безопасно применять в условиях ограниченных ресурсов в embedded-системах или игровых проектах, где динамическая память может быть ограничена или запрещена. Вы узнаете, как писать эффективный и безопасный код, избегая скрытых аллокаций, которые могут происходить в контейнерах стандартной библиотеки, строках, виртуальных функциях и других механизмах C++.

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

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

Многие возможности языка C++ и стандартной библиотеки прозрачно для разработчика используют динамическое выделение памяти — то есть работу с кучей (heap). В  разработке для ПК это почти не проблема: куча есть всегда, и её можно использовать без ограничений. Но для встроенных систем (embedded) или игровой разработки (gamedev) всё сложнее — там динамическая память либо сильно ограничена, либо вообще запрещена.

И тут возникает вопрос: какие именно возможности C++ безопасно использовать, а какие — нет? Ответ не всегда очевиден. Например, некоторые контейнеры STL внутри всегда используют new, а значит — кучу. Даже такие привычные вещи, как std::string или виртуальные функции, могут скрыто приводить к динамическому выделению памяти. В результате разработчик остаётся в замешательстве: насколько сильно придётся “урезать” язык, чтобы его код работал без кучи?

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

О курсе

Курс посвящён программированию на C++ без использования кучи. Рассматривается какие возможности языка и стандартной библиотеки безопасно применять в условиях ограниченных ресурсов в embedded-системах или игровых проектах, где динамическая память может быть ограничена или запрещена. Вы узнаете, как писать эффективный и безопасный код, избегая скрытых аллокаций, которые могут происходить в контейнерах стандартной библиотеки, строках, виртуальных функциях и других механизмах C++.

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

Этот курс создан для разработчиков, которым важно писать быстрый и надёжный код без использования динамической памяти. Он будет полезен тем, кто работает с встроенными системами (embedded), играми (gamedev) или занимается разработкой под приставки и мобильные платформы, где любые скрытые выделения памяти могут замедлить работу или вызвать ошибки. Курс также подойдёт опытным C++ разработчикам, которые хотят научиться использовать современные возможности языка и писать эффективный код, сохраняя удобство работы с объектами и полиморфизмом, но без лишних аллокаций в куче.

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

Начальные требования для курса:

  1. Базовые знания C++: понимание синтаксиса, функций, классов, структур и указателей.

  2. Опыт работы с объектно-ориентированным программированием (ООП): наследование, полиморфизм, виртуальные функции.

  3. Понимание стандартной библиотеки STL: контейнеры, строки, алгоритмы.

  4. Навыки работы с компилятором и сборкой проекта: знание базовых флагов компилятора, умение запускать и отлаживать программы.

  5. Желательно базовое понимание работы памяти: стек, куча, область данных.

Эти знания помогут быстро включиться в материал и сосредоточиться на оптимизации кода без использования динамической памяти.

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

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

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

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

В процессе обучения вы будете:

  • выполнять упражнения по замене стандартных решений на более оптимальные;

  • переписывать код  без использования new/delete;

  • использовать механизмы времени компиляции для замены RTTI и dynamic_cast

  • применять современные возможности C++20 для эффективного и безопасного кода.

Сертификат курса Нескучное программирование. С++ без аллокаций памяти

Сертификат

Успешно завершив курс, вы получите сертификат от платформы Stepik. Уже 1 учеников получили сертификат.

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

  • Понимание того, какие возможности C++ используют динамическую память и как их обходить.
  • Практические навыки написания кода без использования кучи, используя только стек и статические буферы.
  • Умение сохранять полиморфизм, интерфейсы и ООП-принципы без виртуальных функций и RTTI.
  • Опыт замены стандартных контейнеров STL на фиксированные структуры данных.
  • Навыки самостоятельной оптимизации и анализа кода на предмет скрытого использования динамической памяти.
  • Подготовку к разработке игровых систем, где работа с кучей ограничена или запрещена.

Нагрузка

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

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