Почему некоторые части стандартной библиотеки C++ используют наследование вместо шаблонов? ⇐ C++

Программы на C++. Форум разработчиков
Anonymous
Почему некоторые части стандартной библиотеки C++ используют наследование вместо шаблонов?

Сообщение Anonymous »

В Стандартной библиотеке C++ для реализации полиморфизма в основном используются шаблоны вместо наследования. (Некоторые причины см. в этой теме.) Однако есть некоторые части стандартной библиотеки, которые используют наследование, например
  • библиотека диагностики, где все исключения, генерируемые стандартной библиотекой, наследуются от std::Exception,
  • и библиотеки ввода/вывода, которая содержит дюжину классов, связанных между собой иерархией наследования, которая также имеет алмаз.
Почему лишь несколько компонентов, подобных приведенным выше, были разработаны с использованием наследования, а не шаблонов?

Подробнее здесь: https://stackoverflow.com/questions/791 ... of-templat

Вернуться в «C++»