» Главная
eXcode.ru » Статьи » С / С++
» Новости
» Опросы
» Файлы
» Журнал



Пользователей: 0
Гостей: 7





Ведущий раздела: MadvEX
Описание: Статьи по С / С++


Подразделы:

Система (23)Сеть (3)Мультимедиа (1)База данных (1)
Игры (0)WinAPI (2)Linux (6)На английском [eng] (73)
Большой FAQ по С++ (1109)1C Предприятие (1)

«1» «2» «3» «4» 

Функциональные объекты библиотеки STL
Функциональные объекты - это объекты, для которых определён operator(). Они важны для эффективного использования библиотеки. В местах, где ожидается передача указателя на функцию алгоритмическому шаблону, интерфейс установлен на приём объекта с определённым operator(). Это не только заставляет алгоритмические шаблоны работать с указателями на функции, но также позволяет им работать с произвольными функциональными объектами. Использование функциональных объектов вместе с функциональными шаблонами увеличивает выразительную мощность библиотеки также, как делает результирующий код более эффективным. Например, если мы хотим поэлементно сложить два вектора a и b, содержащие double, и поместить результат в a, мы можем сделать зто так:


Итераторы библиотеки STL
Итераторы - это обобщение указателей, которые позволяют программисту работать с различными структурами данных (контейнерами) единообразным способом. Чтобы создать шаблонные алгоритмы, которые правильно и эффективно работают с различными типами структур данных, нам нужно формализовать не только интерфейсы, но также семантику и предположения сложности итераторов. Итераторы - это объекты, которые имеют operator*, возвращающий значение некоторого класса или встроенного типа T, называемого значимым типом (value type) итератора. Для каждого типа итератора X, для которого определено равенство, имеется соответствующий знаковый целочисленный тип, называемый типом расстояния (distanсe type) итератора.


Основные компоненты библиотеки STL
Этот раздел содержит некоторые основные шаблонные функции и классы, которые используются в остальной части библиотеки.


Структура библиотеки STL
Библиотека содержит пять основных видов компонентов: - алгоритм (algorithm): определяет вычислительную процедуру. - контейнер (container): управляет набором объектов в памяти. - итератор (iterator): обеспечивает для алгоритма средство доступа к содержимому контейнера. - функциональный объект (function object): инкапсулирует функцию в объекте для использования другими компонентами. - адаптер (adaptor): адаптирует компонент для обеспечения различного интерфейса.


Примитивы управления памятью (Memory Handling Primitives) библиотеки STL
ля каждой модели памяти имеется соответствующий шаблон функции allocate, определённый с типом первого параметра, являющимся типом расстояния указателей в модели памяти.


Адаптеры библиотеки STL
Адаптеры - шаблонные классы, которые обеспечивают отображения интерфейса. Например, insert_iterator обеспечивает контейнер интерфейсом итератора вывода.


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


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


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


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


«1» «2» «3» «4» 

Имя:

Пароль:



Регистрация

Каким ICQ-клиентом вы пользуетесь?
Стандартным ICQ - клиентом.
11% (23)
Miranda 'ой
13% (29)
крысой - &RQ
5% (10)
Своим собственным :)
4% (8)
Не пользуюсь, так как сижу на модеме :(
1% (3)
Не пользуюсь, мне и так хорошо ...
6% (13)
Qip'ом
56% (121)
Другим
4% (8)

Проголосовало: 215
Юзер за дедку, дедка за тоссер, тоссер за мэйлер - и отослали мессаж!
Рейтинг: 3/10 (3)
Посмотреть все анекдоты