Class map
{
public:
typedef pair <const Key, T> value_type;
explicit map(const Compare& comp = Compare());
template <class InputIter>
map (InputIter first , InputIter last,
const Compare& comp = Compare());
map(const map <Key, T, Compare>& x);
...
}
Як видно з приведеного опису, тип елементів словника value_type визначається як пара елементів типу Кеу і Т. Перший конструктор створює порожній словник, використовуючи вказаний функціональний об'єкт. Другий конструктор створює словник і записує в нього елементи, які визначаються діапазоном вказаних ітераторів. Час роботи цього конструктора пропорційний кількості записуваних елементів, якщо вони впорядковані, і квадрату кількості елементів, якщо ні. Третій конструктор є конструктором копіювання.
Як і для всіх контейнерів, для словника визначені деструктори, операція привласнення і операції відношення. Для доступу до елементів по ключу визначений оператор [ ]:
Т& operator[](const Key & х);
За допомогою цього оператору можна не тільки повертати значення елементів, але і оголошувати в словник нові. Як приклад приведемо телефонну книгу, ключем в якій слугує прізвище, а елементом – номер телефону:
#include <iostream>
#include <fstream>
#include <string>
#include <map>
using namespace std;
typedef map<string, long, less <string> > map_s1; //1
Дата добавления: 2014-12-26; просмотров: 612;