Программирование. Принципы и практика использования C++ Исправленное издание, стр. 293
В стандартной библиотеке предусмотрены восемь ассоциативных контейнеров.

Эти контейнеры определены в заголовках
<map><set><unordered_map><unordered_set>21.6.1. Ассоциативные массивы
Рассмотрим более простую задачу: создадим список номеров вхождений слов в текст. Для этого вполне естественно записать список слов вместе с количеством их вхождений в текст. Считывая новое слово, мы проверяем, не появлялось ли оно ранее; если нет, вставляем его в список и связываем с ним число 1. Для этого можно было бы использовать объект типа
listvectormapint main(){ map<string,int> words; // хранит пары (слово, частота) string s; while (cin>>s) ++words[s]; // контейнер words индексируется // строками typedef map<string,int>::const_iterator Iter; for (Iter p = words.begin(); p!=words.end(); ++p) cout << p–>first << ": " << p–>second << '\n';}Самой интересной частью этой программы является выражение
++words[s]main()wordsstringintwordsstringintstringwordsintstringwords[s]intswords["sultan"]
sultanwordsint0words("sultan", 0sultan++words["sultan"]sultan1sultan("sultan",0++1Проанализируем программу еще раз: выражение
++words[s]1while (cin>>s) ++words[s];Он считывает каждое слово (отделенное пробелом) из потока ввода и вычисляет количество его вхождений в контейнер. Теперь нам достаточно просто вывести результат. По контейнеру
mapmap<string,int>pair<string,int>firstsecondtypedef map<string,int>::const_iterator Iter;for (Iter p = words.begin(); p!=words.end(); ++p) cout << p–>first << ": " << p–>second << '\n';Оператор
typedefC++ is a general purpose programming language designed to make
programming more enjoyable for the serious programmer. Except
for minor details, C++ is a superset of the C programming language.
In addition to the facilities provided by C, C++ provides flexible and
efficient facilities for defining new types.
Результат работы программы приведен ниже.
C: 1C++: 3C,: 1Except: 1In: 1a: 2addition: 1and: 1by: 1defining: 1designed: 1details,: 1efficient: 1