12.03.2018. Лекция № 6. Стандартная библиотека C++. Часть 2

Развернуть

  1. std::list в сравнении с std::vector.
  2. std::list::splice.
  3. std::forward_list.
  4. Ассоциативные контейнеры. std::map. std::pair.
  5. Обход дерева поиска std::map с помощью итератора.
  6. Разница между std::map::operator[] и std::map::at.
  7. Пример. Подсчёт количества вхождений слов в файле.
  8. std::map::insert.
  9. std::map::erase.
  10. Использование пользовательского класса в качестве ключа.
  11. std::multimap и операция «group by».
  12. std::set.
  13. Хеш-таблицы. std::unordered_map.
  14. Задание хеш-функции для пользовательского класса.
  15. std::unordered_multimap.
  16. std::unordered_set.

Полезные материалы:

05.03.2018. Лекция № 5. Стандартная библиотека C++. Часть 1

Развернуть

  1. Hello, World!
  2. Операторы <<, >> и манипуляторы.
  3. Работа с файлами. Построчное чтение и запись.
  4. ostringstream.
  5. Операции со строками.
  6. Разбиение строки на слова.
  7. Конвертация строк в числа.
  8. std::vector и простейшие операции с ним.
  9. Итераторы.
  10. Итерирование std::vector. Обратные итераторы.
  11. Операции с std::vector.
  12. Итераторы и алгоритмы.

Исходники из лекции: https://github.com/be9/oopcode/tree/master/lection_1_05

Сайт с документацией по стандартной библиотеке: http://www.cplusplus.com/

В том числе:


26.02.2018. Лекция № 4. Базовый C++. Часть 2

Развернуть

  1. Преобразование типов в C++
  2. Модификатор const. Константные ссылки и указатели на объекты. Константные методы классов.
  3. Перегрузка функций. «Манглинг».
  4. Параметры функций и методов по умолчанию.
  5. Пространства имён (namespace). Директива using. Безымянные пространства имён.
  6. Шаблоны классов (template).
  7. Переопределение операторов.

19.02.2018. Лекция № 3. Тестирование. Базовый C++, часть 1

Развернуть

  1. Тестирование. Некоторые классификации видов тестирования.
  2. Подход к модульному тестированию на C++.
  3. Классы.
  4. Члены классов, конструкторы и деструкторы.
  5. Использование new, delete и delete[].
  6. Объекты в глобальной, стековой и динамической памяти.
  7. inline-функции. Мотивация и использование.
  8. Статические члены классов.
  9. Наследование. Указатели на объекты базового и производного класса.
  10. Механизм виртуальных функций. Ключевое слово override.
  11. Модификаторы доступа public, private и protected.
  12. friend-доступ к защищенным полям классов.
  13. Разница между struct и class.
  14. public-, private- и protected-наследование.
  15. Ссылки. Разница между ссылками и указателями.

12.02.2018. Лекция № 2. Киты ООП. Система OOC

Развернуть

  1. Четыре кита ООП.
  2. Инкапсуляция.
  3. Наследование.
  4. Разница между наследованием (is a) и композицией (has a).
  5. Проблемы наследования (Square/Rectangle, Circle/Ellipse).
  6. Указатели на функции в C.
  7. Стековые фреймы в C.
  8. Работа с переменным количеством аргументов в C.
  9. Реализация простейшей объектной системы на C.

Исходные тексты объектной системы с подробными комментариями доступны в виде учебного материала на сайте.

05.02.2018. Лекция № 1. Введение

Развернуть

  1. О курсе. Почему ООП, почему C++?
  2. Принцип «фигура-фон». Парадигмы программирования. ООП как парадигма.
  3. Объекты. Сходства и различия.
  4. От объектов к классам.
  5. Классы и модули.

Действия