Курс C++

  • Online
  • Для початківців
  • C / C++
Навчальний центр: Logos IT-Academy
Формат:Курс
Мова викладання:Ukrainian
Тривалість навчання:16 занять
Початок курсу:Дата формується
Вартість навчання:8 500 UAH за курс

Груповий курс - 8500 UAH, Індивідуальний - 20000 UAH.

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

Огляд C++

  • Парадигми та ідеологія С++
  • Поняття про роздільну компіляцію
  • Препроцесор, компілятор, лінкер

Синтаксичні примітиви мови

  • Система типів С++. Фундаментальні типи даних
  • Оголошення та визначення, області видимості
  • Структура оголошень сутностей програми
  • Літерали
  • Змінні та констант, їх ініціалізація
  • Lvalue, rvalue
  • Перерахування (enum)
  • Огляд оголошення функцій, структур, об'єднань, класів
  • Принцип роботи інструкцій (statements)
  • Оператори С++
  • Пріоритети та асоціативність операторів
  • Інструкції керування потоком виконання. if, оператор вибору ?:, switch
  • Цикли while, do-while, for, команди break та continue
  • Goto
  • Вказівники та масиви
  • Типізовані вказівники та вказівники без типу
  • Нульовий вказівник
  • Арифметика вказівників
  • C-стрічки
  • Динамічна пам'ять
  • New та delete
  • Успадковані засоби С для роботи з пам'яттю - malloc, calloc, realloc, free
  • Посилання
  • Функції. Оголошення та визначення
  • Формальні параметри та значення, що повертаються
  • Способи передачі аргументів - за значенням, за вказівником, за посиланням
  • Масиви, як аргументи функцій
  • Рекурсивні функції
  • Статичні локальні змінні
  • Статичні функції
  • Inline-функції
  • Перевантаження функцій. Правила вибору функцій для перевантаження
  • Заплутування імен, extern "C"
  • Аргументи по замовчуванню
  • Функції із змінною кількістю аргументів
  • Вказівники на функції
  • Int main(), доступ до аргументів командного рядка та змінних середовища
  • Препроцесор
  • Макроси (object-like macros)
  • Макроси з аргументами (function-like macros)
  • # та ##
  • Умовна компіляція
  • Стандартні та специфічні для платформи визначені наперед макроси
  • #error, нестандартна директива #warning
  • #pragma
  • assert

Структури, об'єднання, класи, динамічне ООП

  • Структури
  • Об'єднання
  • Поняття класу, поля даних та методи
  • Конструктор, деструктор, конструктор по замовчуванню
  • Вказівник this, константні методи
  • Статичні дані та методи класу
  • Інкапсуляція
  • Друзі класу
  • Успадкування, принцип підстановки
  • Публічне (відкрите) успадкування, як реалізація принципу "нащадок є предком"
  • Приватне успадкування - успадкування реалізації, з наданням іншого інтерфейсу
  • Поліморфізм, віртуальні функції
  • Абстрактні класи
  • Принципи побудови ієрархії класів
  • Паттерн проєктування NVI (Non-Virtual Interface)
  • Ідіома "віртуального конструктора"
  • Множинне успадкування, віртуальні базові класи
  • Неявно створювані методи класу
  • Узгодженість копіювання-створення-знищення-(переміщення для С++11)
  • Перевантаження операторів. Синтаксис і правила застосування
  • Конструктори з одним аргументом, explicit
  • Оператори неявного приведення типів

Службові засоби

  • Простори імен
  • Комбінування просторів імен
  • Анонімні простори імен
  • Виключення
  • Ієрархії виключень
  • Стандартні виключення
  • Приведення типів
  • Приведення типів у стилі С++
  • Успадковане приведення типів у стилі С

Шаблони

  • Шаблони функцій та класів
  • Інстанціювання
  • Параметри шаблонів. Параметри по замовчуванню
  • Перевантаження функцій із врахуванням шаблонів
  • Спеціалізація
  • Часткова спеціалізація
  • Взаємодія шаблонів із рештою засобів мови
  • Успадкування за участю шаблонів
  • Методи-шаблони
  • Статичні методи та дані шаблонів класів
  • Друзі шаблонів
  • Шаблони як параметри шаблонів
  • Типи залежні від параметрів шаблонів, typename I template-"конкретизація"
  • Явне інстанціювання
  • Прості приклади мета-шаблонного програмування
  • Шаблони як засоби статичного (часу компіляції) ООП

Стандартна бібліотека

  • Потоки вводу-виводу
  • Ієрархія потоків
  • Класи ostream/istream та відповідні наперед створені потоки: cin/cout/cerr/clog
  • Перевантажені оператори << та >>
  • Низькорівневі операції виводу: puts, write
  • Низькорівневі операції вводу: get, getline, ignore, peek, putback, unget, read, readsome, gcount
  • Форматування виводу. Прапорці форматування, маніпулятори
  • Стан потоку, прапорці good, fail, bad, eof; їхня спільна робота, перевірка стану потоку
  • Виключення потоків
  • Буфери потоків
  • Файлові потоки
  • Відкриття файлових потоків, режими відкриття
  • Файлові вказівники
  • Стрічкові потоки (stringstream)
  • Std::string
  • Засоби маніпуляції стрічками - створення, пошук, видалення, об'єднання, вставка, тощо
  • Допоміжні засоби - numerical_limits, pair, min, max, swap, тощо
  • STL - стандартна бібліотека шаблонів
  • Контейнер std::vector
  • Ітератори
  • Класи ітераторів згідно їх потужності
  • Інтервали
  • Стандартні алгоритми
  • Алгоритми, що не модифікують послідовність
  • Алгоритми, які модифікують послідовність
  • Об'єкти-функції, (лямбда-функції С++11)
  • Адаптери
  • Предикати
  • Генератори ітераторів (back_inserter і компанія)
  • Стандартні контейнери
  • Ідіома remove-erase
  • Послідовні контейнери: vector, deque, list
  • Асоціативні контейнери: set, map, multiset, multimap
  • Адаптери: queue, priority_queue, stack

C++11/C++14

  • Покращення конструкцій, що вже існують
  • Списки ініціалізації
  • Універсальна ініціалізація
  • Виведення типів, auto та decltype
  • For для інтервалів (Range-based for)
  • Лямбда-функції
  • Альтернативний синтаксис оголошення функцій
  • Делеговані конструктори
  • Явні перевизначення віртуальних функцій, заборона перевизначення (override і final)
  • Nullptr
  • Типізовані перерахування
  • Explicit для операторів перетворення типів
  • Синоніми шаблонів (Template aliases)
  • Узагальнені об'єднання
  • Нові можливості ядра мови
  • Нові види стрічкових літералів - "сирі" та Unicode-літерали
  • Користувацькі літерали
  • Керування методами, що генеруються автоматично --- default і delete
  • Керування вирівнюванням
  • Атрибути функцій
  • static_assert
  • Огляд шаблонів із змінною кількістю аргументів
  • Зміни, пов'язані із продуктивністю
  • Rvalue-посилання, move-конструктори
  • Constexpr
  • Модифікація та деталізація поняття POD
  • Extern-шаблони
  • Нове у стандартній бібліотеці
  • Tuple
  • Розумні вказівники
  • Хешовані контейнери: unordered_set, unordered_multiset, unordered_map, unordered_multimap
  • Масив фіксованого розміру std::array та однозв'язний список std::forward_list
  • Нові алгоритми
  • Обгортки для функцій (function wrappers)
  • Регулярні вирази
  • Просунуті генератори випадкових чисел
  • Властивості типів (type traits)
  • Багатопоточність
  • Модель пам'яті С++, з врахуванням багато поточності
  • std::thread
  • Мютекси та умовні змінні
  • Атомарні операції та змінні
  • Std::future і std::promises для більш високорівневої багатопоточності. std::async
  • Thread-local storage

Особливості курсу

  • Робота з експертами
  • Зворотній зв'язок
  • Ефективне навчання
  • Диплом
  • Закритий телеграм-чат

Категорії курсу

Читайте нас в Telegram, щоб не пропустити анонси нових курсів.

Схожі курси

Навчальний центр
Джун IT Academy
Формат
Online
Початок навчання
Будь-який момент
Тривалість
-
Рівень
Для дітей
Мова навчання
Ukrainian
Вартість
уточнюйте
Навчальний центр
CHI IT Academy
Формат
Online
Початок навчання
04.09.2023
Тривалість
16 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
8 000 UAH за курс
Навчальний центр
Junior IT
Формат
Online
Початок навчання
Дата формується
Тривалість
-
Рівень
Для дітей
Мова навчання
Ukrainian
Вартість
уточнюйте
Навчальний центр
Robot Dreams
Формат
Online
Початок навчання
Дата формується
Тривалість
32 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте