четверг, 21 марта 2019 г.

Лекция: STL

Об STL рассказывать сложно. Перечислять контейнеры и алгоритмы? Скучно, да и все равно всего не охватишь. Можно так:

  1. STL - часть std
  2. контейнеры vector и list
  3. требования к типу хранимого значения T (CopyConstructible, CopyAssignable)
  4. параметр шаблона контейнера Allocator, значение по умолчанию - std::allocator
  5. итераторы (iterator, reverse_iterator, const_iterator)
  6. итератор - пример класса, описанного внутри класса
  7. свойства итераторов у разных контейнеров (какие операции можно делать с ними, можно ли сравнивать и т.д.)
  8. цикл по диапазону for_each; функтор
  9. удаление по условию; remove_if; предикат
Как я уже писал, в 17х плюсах iterator считается устаревшим.  На cppreference.com он помечен как LegacyBidirectionalIterator. Информации по итераторам в STL в интернете как-то маловато. Мне больше всего понравилась статья на geeksforgeeks. 

Комментариев нет: