以下是一个简单的示例,演示如何使用 GetStartPosition 方法:
#include <afxtempl.h> // 包含 MFC 模板类头文件
// 假设我们创建了一个 CMap 类型的哈希表
CMap<int, int, CString, CString> myMap;
// 向哈希表中添加一些键-值对
myMap[1] = _T("One");
myMap[2] = _T("Two");
myMap[3] = _T("Three");
// 获取哈希表的开始位置
POSITION pos = myMap.GetStartPosition();
// 在循环中使用 pos 迭代哈希表中的键-值对
while (pos != nullptr) {
int nKey;
CString strValue;
// 使用 GetNextAssoc 获取下一个键-值对
myMap.GetNextAssoc(pos, nKey, strValue);
// 输出键和值
TRACE(_T("Key: %d, Value: %s\n"), nKey, strValue);
}
在这个示例中,我们使用 GetStartPosition 方法获取哈希表 myMap 的开始位置,然后使用 GetNextAssoc 方法在循环中迭代哈希表中的键-值对。
请注意,GetStartPosition 方法返回的 POSITION 对象在后续调用 GetNextAssoc 方法时会被修改,以反映当前位置。当 GetNextAssoc 返回 FALSE 时,表示已经迭代完整个哈希表。
转载请注明出处:http://www.zyzy.cn/article/detail/18654/MFC/CMap