Почему в C ++ STL существует разделение алгоритмов, итераторов и контейнеров?

Я не могу понять, почему они разделили алгоритмы, итераторы и контейнеры в C ++ STL. Если повсеместно используются шаблоны, то у нас могут быть классы, содержащие все вещи в одном месте с параметрами шаблона.

В некотором тексте, который я получил, объясняется, что итераторы помогают алгоритмам взаимодействовать с данными контейнеров, но что, если контейнеры предоставляют некоторый механизм для доступа к данным, которыми он обладает?

Ответы на вопрос(1)

Ваш ответ на вопрос