Индустрия программирования


3. Стандартная библиотека Си++: принципы построения - часть 2


Это тем более существенно, что сам по себе
данный языковой механизм спроектирован в Си++ явно не лучшим образом и теоретически может
приводить к невообразимо запутанным конструкциям.

Наконец, третья важная черта Библиотеки - использование механизма исключительных ситуаций
(exceptions). Практически все возможные "нештатные" эффекты в процессе выполнения
библиотечных функций специфицированы в виде исключительных ситуаций; в библиотеке
предусмотрена иерархия стандартных классов, предназначенных именно передачи значений при
возбуждении исключительных ситуаций.

Однако наиболее существенной идеологической концепцией, на основе которой строится
Стандартная Библиотека, является технология "generic programming" (обобщенного
программирования), впервые примененная для Си++ А.Степановым при разработке его Standard
Template Library (и вошедшей в качестве составной части в Стандартную Библиотеку). Как
результат, важнейшей особенностью Стандартной Библиотеки Си++ становится тенденция к
максимальному обобщению структур и алгоритмов при одновременном сохранении их
эффективности. Практически явное выделение понятийного ядра библиотеки позволило упростить
общую схему ее построения. Кроме того, произошел отказ от попыток создания замкнутой
системы классов и функций, предоставляющей пользователю фиксированный сервис. Наоборот,
основное внимание в библиотеке уделяется универсальным шаблонным средствам порождения
требуемого пользователю контекстно-ориентированного кода. С точки зрения классического
понимания слова "библиотека" С++ Standard Library скорее является средством быстрой
разработки контекстно-ориентированных библиотек, предоставляя программисту совокупность
понятий, в терминах которых он может проектировать собственные системы, и набор типовых
решений с использованием этих понятий.

Таким образом, общую структуру Стандартной Библиотеки Си++ можно представить как
объединение нескольких крупных компонент, каждая из которых предоставляет набор примитивов



- Начало -  - Назад -  - Вперед -