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

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

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

8
задан TemplateRex 14 August 2012 в 08:38
поделиться