В C++ классы стандартной библиотеки разделяются на группы в соответствии со своим назначением.
  1. Потоковые классы – предназначены для управления потоками данных между оперативной памятью и внешними устройствами, а также в пределах оперативной памяти.
  2. Строковые классы – предназначены для удобной защищенной от ошибок работы с символьными строками
  3. Контейнерные классы – реализуют наиболее распространенные структуры для хранения данных (списки, векторы, очереди). В библиотеки контейнерных классов также входят алгоритмы, использующие эти контейнеры.
  4. Итераторы – предназначены для унификации доступа к элементам контейнерных и других классов.
  5. Математические классы – поддерживают эффективную обработку массивов численных данных с плавающей точкой и работу с комплексными числами.
  6. Диагностические классы – обеспечивают динамическую идентификацию типов и объектно-ориентированную обработку ошибок.
  7. Остальные классы – обеспечивают динамическое распределение памяти и адаптацию к локальным особенностям программы, обработку функций, объектов и т.д.

3, 4 и алгоритмы классов объединяют в библиотеки шаблонов.