Курс 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, щоб не пропустити анонси нових курсів.

Схожі курси

Навчальний центр
Robot Dreams
Формат
Online
Початок навчання
Дата формується
Тривалість
32 занять
Рівень
Для початківців
Мова навчання
Ukrainian
Вартість
уточнюйте
Навчальний центр
Junior IT
Формат
Online
Початок навчання
Дата формується
Тривалість
9 місяців
Рівень
Для дітей
Мова навчання
Ukrainian
Вартість
уточнюйте

C++

Optima Academy
Навчальний центр
Optima Academy
Формат
Online
Початок навчання
Будь-який момент
Тривалість
3 місяців
Рівень
Для дітей
Мова навчання
Ukrainian
Вартість
2 400 UAH за місяць
Навчальний центр
Optima Academy
Формат
Online
Початок навчання
Будь-який момент
Тривалість
6 місяців
Рівень
Для дітей
Мова навчання
Ukrainian
Вартість
1 700 UAH за місяць