

Программирование на языке MFC
Мой второй блог в серии программирования
Метод FreeAssoc
Давайте попробуем разобрать, что происходит при сохранении данных. Естественно, первым делом в файл записывается число элементов таблицы. После этого в файл записываются ключи и значения, хранящиеся только в НЕПУСТЫХ списках ассоциаций. Это повторяется для всех элементов таблицы. При считывании данных сначала считываемая число элементов таблицы, затем попарно считываются ключ и значение ассоциации. Сразу после считывания ассоциация помещается в нужное место хэш-таблицы при помощи метода SetAt().
Обратным для метода NewAssoc() является метод FreeAssoc():
void CMapWordToOb::FreeAssoc(CMapWordToOb::CAssoc* pAssoc) {
pAssoc->pNext = m_pFreeList;
m_pFreeList = pAssoc; m_nCount—;
ASSERT(m_nCount >= 0); // make sure we don’t underflow
// if no more elements, cleanup completely if (m_nCount == 0) RemoveAll();
}
Похожие статьи: Метод FreeAssoc
