Программирование на С++. Рейзлин В.И. - 85 стр.

UptoLike

Составители: 

87
Спецификация шаблона для класса map:
template<class Key,classT,class Comp=less<Key>,class Alloca-
tor=allocator<pair> >
class std::map
В классе map определены следующие конструкторы:
explicit map(const Comp& c=Comp(),const Allocator& a=Allocator());
map(const map<Key,T,Comp,Allocator>& ob);
template<class InIter> map(InIter first,InIter last,const Comp&
c=Comp(),const Allocator& a=Allocator());
Первая форма представляет собой конструктор пустого ассоциатив-
ного контейнера, вторая конструктор копии, третья конструктор ассо-
циативного контейнера, содержащего диапазон элементов.
Определена операция присваивания:
map& operator=(const map&);
Определены следующие операции: ==, <, <=, !=, >, >=.
В map хранятся пары ключ/значение в виде объектов типа pair.
Создавать пары ключ/значение можно не только с помощью конст-
рукторов класса pair, но и с помощью функции make_pair, которая создает
объекты типа pair, используя типы данных в качестве параметров.
Типичная операция для ассоциативного контейнера это ассоциа-
тивный поиск при помощи операции индексации ([]).
mapped_type& operator[](const key_type& K);
Множества set можно рассматривать как ассоциативные массивы, в
которых значения не играют роли, так что мы отслеживаем только ключи.
template<classT,class Cmp=less<T>,class Allocator=allocator<T>>class
std::set{…};
Множество, как и ассоциативный массив, требует, чтобы для типа T
существовала операция “меньше” (<). Оно хранит свои элементы отсорти-
рованными, так что перебор происходит по порядку.
Алгоритмы
Каждый алгоритм выражается шаблоном функции или набором шаб-
лонов функций. Таким образом, алгоритм может работать с очень разными
контейнерами, содержащими значения разнообразных типов. Алгоритмы,
которые возвращают итератор, как правило, для сообщения о неудаче
используют конец входной последовательности. Алгоритмы не выполняют
проверки диапазона на их входе и выходе. Когда алгоритм возвращает
итератор, это будет итератор того же типа, что и был на входе. Алгоритмы
в STL реализуют большинство распространенных универсальных опера-
ций с контейнерами, такие как просмотр, сортировка, поиск, вставка и уда-
ление элементов.