История изменений
Исправление svyatozar, (текущая версия) :
STL - не ООП. Нет никакой инкапсуляции. Итераторы дают полный доступ к данным в контейнерах на низком уровне - указатель. Сама последовательная итерация данных из одной функции - это уже информационно-ориентированный подход по типу СУБД.
Я не спорю, что контейнер может содержать объекты и это может дать повод рассматривать STL с позиции ООП. Но ведь он может и не содержать объекты (а содержать базовые типы или структуры), и тогда получается что ООП тут ни при чём.
Кроме того, при использовании шаблонов тип хранимых объектов должен быть известен до момента компиляции. И потом, сами шаблоны ломают инкапсуляцию, ведь для компиляции нужен полный код шаблонных функций и классов.
Исходная версия svyatozar, :
STL - не ООП. Нет никакой инкапсуляции. Итераторы дают полный доступ к данным в контейнерах на низком уровне - указатель. Сама последовательная итерация данных из одной функции - это уже информационно-ориентированный подход по типу СУБД.
Я не спорю, что контейнер может содержать объекты и это может дать повод рассматривать STL с позиции ООП. А может и не содержать, и тогда получается что ООП тут ни при чём.
Кроме того, при использовании шаблонов тип хранимых объектов должен быть известен до момента компиляции. И потом, сами шаблоны ломают инкапсуляцию, ведь для компиляции нужен полный код шаблонных функций и классов.