CMapStringToOb 类的 GetNextAssoc 方法用于迭代映射中的键值对。以下是该方法的一般格式:
BOOL GetNextAssoc(
   POSITION& rNextPosition,
   CString& rKey,
   CObject*& rValue
) const;

  •  rNextPosition:输入为上一次调用 GetNextAssoc 返回的位置信息,输出为下一个位置信息。

  •  rKey:输出为找到的键(字符串)。

  •  rValue:输出为找到键对应的值(CObject* 对象)。


该方法返回一个布尔值,表示是否成功找到下一个键值对。如果找到,返回 TRUE;否则,返回 FALSE。

以下是一个示例用法:
CMapStringToOb myMap;

// 在这里执行一些插入操作

POSITION pos = myMap.GetStartPosition(); // 获取起始位置

while (pos != NULL) {
    CString key;
    CObject* value;

    myMap.GetNextAssoc(pos, key, value);

    // 在这里处理找到的键值对
    TRACE("键:%s,值:%p\n", (LPCTSTR)key, value);
}

在上面的示例中,通过调用 GetNextAssoc 方法,你可以迭代映射中的所有键值对。初始时,通过 GetStartPosition 方法获取起始位置,然后使用 GetNextAssoc 在迭代中获取每个键值对。




转载请注明出处:http://www.zyzy.cn/article/detail/18725/MFC/CMapStringToOb