Страница 88 из 238
CMap
template< class KEY, class ARG_KEY, class VALUE, class ARG_VALUE >class CMap : public CObject
Аргументы
- KEY - класс объектов, используемых в качестве ключей в данной карте отображений. ARG_KEY - тип данных, используемых в качестве аргументов KEY. Обычно это ссылка на KEY.
- VALUE - класс объектов, хранящихся в данной карте отображений. ARG_VALUE - тип данных, используемых в качестве аргументов VALUE. Обычно это ссылка на VALUE.
Описание
Класс
CMap представляет собой класс словарей, в котором для доступа к данным используются уникальные ключи. После того, как в карту отображений будет добавлена пара, состоящая из ключа и элемента, для доступа к ней может быть использовано значение ключа. Кроме того, имеется возможность последовательного просмотра всего содержимого карты отображений. Для этого используется переменная типа
POSITION. Эта переменная позволяет "запомнить" текущую позицию в карте и просмотр всей карты. Последовательность просмотра карты отображений никак не связана с последовательностью ключей. Класс
CMap включает в себя макрос
IMPLEMENT_SERIAL, позволяющий работать с архивом и выводить диагностические сообщения. Независимо от того используется ли для записи в архив перегруженный оператор
<< или функция
Serialize, в архиве сохраняется каждый элемент карты отображений. При необходимости вывести диагностическую информацию об отдельном элементе карты отображений, необходимо указать глубину объекта
CDumpContext равной 1 или большей величине. При уничтожении объекта класса
CMap или при удалении из него элементов уничтожаются как ключи, так и связанные с ними объекты. Описание данного класса содержится в файле заголовка afxtempl.h.