A “map” is a dictionary that maps keys to values. Seven map classes support CString objects, words, CObject pointers, and void pointers. Consider the CMapWordToOb class as an example. A WORD variable is used as a key to find the corresponding CObject pointer. Duplicate key values are not allowed. A key-pointer pair can be inserted only if the key is not already contained in the map.
Key lookups are fast because they rely on a hashing technique. A map can be traversed, but the retrieval sequence is indeterminate. It makes sense, then, to iterate over all the elements in a map.