    Резкме 

    •   Библиотека шаблонов классов Borland предлагает широкий выбор 
контейнерных классов для хранения объектов данных различными способами. В 
версии Borland C++ 3.1 существовали две ,формы библиотеки: одна с обычными 
классами, другая с шаблонами C++. В версии 4.5 существует только одна 
библиотека шаблонов классов более широкого назначения. (Старые классы также 
входят в поставку, однако в новых программах ими пользоваться не следует.) 
    •   Вы можете использовать библиотеку шаблонов классов в программах для 
DOS, EasyWm и Windows. Поддерживаются 16- и 32-битовые библиотеки. 
    •  Абстрактные типы данных обеспечивают абстракцию методов хранения 
данных, например с помощью стека. 
    •  Фундаментальные структуры данных обеспечивают внутреннее представление 
хранения данных, например с помощью связного списка. 
    •   В каждом контейнерном классе комбинируются один АТД и одна ФСД. 
Например, класс TArrayAsVector реализует абстрактный массив с вектором в роли 
внутреннего механизма хранения данных. 
    •   Для того чтобы полностью использовать возможности библиотеки вам 
следует ознакомиться с соглашениями именования шаблонов, которые описываются в 
этой главе. Все имена классов начинаются с буквы Т, за которой по очереди 
следуют АДТ, ФДС и суффиксы, описывающие природу каждого класса. Не все 
комбинации АДТ и ФДС реализованы. 
    •   В библиотеке контейнерных классов имеются классы для создания 
абстрактных контейнеров, подобных массивам, мультимножествам, декам, словарям, 
очередям, множествам и стекам. 
    • В библиотеке шаблонов классов также имеются классы, реализующие 
внутренние структуры данных, используемые в абстрактных контейнерах: деревья 
двоичного поиска, двусвязные списки, хэш-таблицы, списки и векторы. 
    •   Косвенные контейнеры запоминают указатели на объекты, прочие 
контейнеры запоминают копии объектов. 
    •   С помощью итераторов можно "передвигаться" по объектам контейнера. 
Следует использовать итераторы для чтения данных контейнера или 
фундаментальной структуры данных. 
    •   Класс TShouldDelete задает статус принадлежности объектов косвенному 
контейнеру. Если контейнер владеет своими объектами, то он уничтожает их 
автоматически, когда они удаляются из него. Вы можете сделать так, чтобы 
объекты удалялись всегда, не удалялись никогда или удалялись только тогда, 
когда контейнер ими владеет. 
    •  Только косвенные контейнеры частично выводятся из класса TShouldDelete. 
Прочие контейнеры не выводятся из TShouldDelete. Вы не можете задать владение 
объектами для таких контейнеров. 


    Глава 16. Библиотека шаблонов классов Borland	437 
