LINUX.ORG.RU

История изменений

Исправление svyatozar, (текущая версия) :

STL - не ООП. Нет никакой инкапсуляции. Итераторы дают полный доступ к данным в контейнерах на низком уровне - указатель. Сама последовательная итерация данных из одной функции - это уже информационно-ориентированный подход по типу СУБД.

Я не спорю, что контейнер может содержать объекты и это может дать повод рассматривать STL с позиции ООП. Но ведь он может и не содержать объекты (а содержать базовые типы или структуры), и тогда получается что ООП тут ни при чём.

Кроме того, при использовании шаблонов тип хранимых объектов должен быть известен до момента компиляции. И потом, сами шаблоны ломают инкапсуляцию, ведь для компиляции нужен полный код шаблонных функций и классов.

Исходная версия svyatozar, :

STL - не ООП. Нет никакой инкапсуляции. Итераторы дают полный доступ к данным в контейнерах на низком уровне - указатель. Сама последовательная итерация данных из одной функции - это уже информационно-ориентированный подход по типу СУБД.

Я не спорю, что контейнер может содержать объекты и это может дать повод рассматривать STL с позиции ООП. А может и не содержать, и тогда получается что ООП тут ни при чём.

Кроме того, при использовании шаблонов тип хранимых объектов должен быть известен до момента компиляции. И потом, сами шаблоны ломают инкапсуляцию, ведь для компиляции нужен полный код шаблонных функций и классов.