Языки программирования

Учебник C++ для начинающих

25 уроков · 7 разделов · бесплатно, без регистрации

Высокопроизводительный язык для систем, игр и встраиваемой техники. Изучим синтаксис, типы, указатели, классы и управление памятью.

Курс «C++» состоит из 7 разделов и 25 уроков: C++ Основы, Управление потоком в C++, Функции и массивы в C++, Указатели и ссылки в C++, ООП в C++, STL в C++ и Шаблоны и исключения в C++. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 C++ Основы

    1. Введение в C++: история, принципы и причины использования

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

    2. Основные принципы программирования на C++

      Основные принципы C++: компиляция, zero-overhead, RAII, три уровня абстракции — для чего используют язык и что делает его уникальным.

    3. Компиляция первой программы на C++

      В этой статье мы рассмотрим, как скомпилировать первую программу на C++ в операционных системах Linux и Windows.

    4. Ключевые слова и идентификаторы в C++

      Полное руководство по ключевым словам и идентификаторам в C++ для начинающих: изучите основы синтаксиса C++, включая определения, правила именования и примеры. Подходит для новичков в программировании, стремящихся понять и применять ключевые элементы C++ в своих проектах. Получите ценные советы и исторические справки для лучшего понимания языка.

    5. Числа и математические функции в C++

      Числа в C++: int, double, long long, диапазоны типов, целочисленное деление и математические функции sqrt, pow, round из заголовка cmath.

    6. Операторы в C++

      Все операторы C++: арифметические, сравнения, логические, присваивания, инкремент/декремент, тернарный и побитовые — таблицы и разбор ловушек.

    7. Типы данных в С++

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

  2. 2 Управление потоком в C++

    1. Условия: if, else и switch в C++

      Условные операторы C++: if/else, else if, тернарный оператор и switch — с примерами, пояснениями и типичными ловушками.

    2. Циклы: for, while и do-while в C++

      Циклы в C++: for, while, do-while, операторы break и continue — полный разбор с примерами и вложенными циклами.

  3. 3 Функции и массивы в C++

    1. Функции в C++

      Функции в C++: объявление, void, передача параметров по значению и ссылке, перегрузка функций и рекурсия с примерами.

    2. Массивы и строки (std::string) в C++

      Массивы и строки в C++: объявление, индексация, перебор, range-based for, std::string — методы length, substr, find с практическими примерами.

    3. Перегрузка функций, аргументы по умолчанию и рекурсия в C++

      Перегрузка функций, значения аргументов по умолчанию и рекурсия в C++ с примерами.

  4. 4 Указатели и ссылки в C++

    1. Указатели в C++

      Указатели в C++: адреса памяти, операторы & и *, арифметика указателей, new/delete, динамические массивы и типичные ошибки работы с памятью.

    2. Ссылки в C++ и отличие от указателей

      Ссылки в C++: объявление, const-ссылки, передача по ссылке в функции, сравнение с указателями — когда что выбирать.

    3. Динамическая память в C++: new и delete

      Динамическое выделение памяти в C++: операторы new и delete, массивы new[]/delete[], утечки памяти.

    4. Умные указатели в C++: unique_ptr и shared_ptr

      Умные указатели C++: unique_ptr, shared_ptr, make_unique, make_shared — автоматическое освобождение памяти.

  5. 5 ООП в C++

    1. Классы и объекты в C++

      Классы и объекты в C++: поля, методы, конструктор, деструктор, инкапсуляция private/public — основы ООП с примерами.

    2. Наследование и полиморфизм в C++

      Наследование и полиморфизм в C++: базовые и производные классы, виртуальные функции, override, абстрактные классы с примерами.

    3. Структуры (struct) и перечисления (enum) в C++

      Структуры struct и перечисления enum/enum class в C++: объявление, инициализация, отличие struct от class.

    4. Перегрузка операторов в C++

      Перегрузка операторов в C++: operator+, operator<< для пользовательских типов с примерами.

  6. 6 STL в C++

    1. std::vector в C++

      std::vector в C++: динамический массив, методы push_back, pop_back, size, at, перебор, resize — самый используемый контейнер STL с примерами.

    2. std::map и unordered_map в C++

      std::map и unordered_map в C++: словарь ключ-значение, вставка, поиск через find и count, перебор итераторами и сравнение контейнеров.

    3. Алгоритмы STL в C++

      Алгоритмы STL в C++: sort, find, count, reverse, min_element, accumulate — стандартные алгоритмы из заголовка algorithm с примерами.

  7. 7 Шаблоны и исключения в C++

    1. Шаблоны функций и классов в C++ (templates)

      Шаблоны в C++: template, typename, шаблонные функции и классы, обобщённый код для разных типов.

    2. Обработка исключений в C++: try, catch, throw

      Исключения в C++: try, catch, throw, std::runtime_error, метод what — обработка ошибок без падения программы.