MFC CMap整理
来源:互联网 发布:小号软件 编辑:程序博客网 时间:2024/06/04 00:29
#include <afxtempl.h>
CMap类的成员:
构造函数:CMap
操作:
Lookup:查找与指定关键码对应的值
SetAt:在映射中插入一个元素,如果发现相匹配的关键码,则替换已经存在的元素
Operator[]:在映射中插入一个元素,它是代替SetAt的操作符
RemoveKey:删除关键码指定的元素
RemoveAll:删除映射中所有的元素
GetStartPosition:返回第一个元素的位置
GetNextAssoc:获取循环中的下一个元素
GetHashTableSize:获取散列表的大小(元素的个数)
InitHashTable:初始化散列表,并指定其大小
状态:
GetCount:返回Map中元素的数目
IsEmpty:检查Map是否为空(即字典中无元素单元)
举例如下:
1.定义一个CMap,向这个CMap中增加数据项(键-值对)
CMap<CString,LPCTSTR,CString,LPCTSTR>my_Map;
CString strKey = _T(""),strValue = _T("");
int i;
for(i=0;i<5;i++)
{
strKey.Format("%d",i);
strValue.Format("V%d",i);
my_Map.SetAt(strKey,strValue);
}
2.遍历整个CMap的常用方法
POSITION pos = myMap.GetStartPosition();
while(pos)
{
myMap.GetNextAssoc(pos,strKey,strValue);
cout<<strKey<<":"<<strValue<<endl;
}
3.在CMap中查找相对应的数据项(举例查找关键字"1"对应的键值)
CString pLook;
if(myMap.Lookup("1",pLook))
{
cout<<pLook<<endl;
}
PS:可能有人会对CMap的声明模式CMap<KEY,ARG_KEY,VALUE,ARG_VALUE>觉得有些不容易理解,有点迷惑,觉得CMap的声明为什么不是CMap<Key,Value>呢?实际上,CMap中的数据最终会是CPair,而CPair即为(KEY,VALUE),因此,CMap其实存储的是KEY,而不是ARG_KEY
http://blog.csdn.net/kerryxue/article/details/5997846
- MFC CMap整理
- MFC CMap整理
- MFC CMap整理
- MFC CMap整理
- MFC CMap
- MFC CMap
- MFC中CMap用法
- MFC中的CMAP
- MFC CMap使用总结
- 使用MFC中的CMap类
- MFC中 CMap 类使用
- MFC CMap 自定义比较方法
- MFC中的CMap类使用
- CMap
- CMap
- cmap
- CMap
- CMap
- x86架构系统启动过程
- JAVA基础-多线程
- 浅析xx_bos_managerment的开发技术
- 最优化
- 【转载】MIGO BAPI_GOODSMVT_CREATE 源代码
- MFC CMap整理
- 信号屏蔽(pending)
- redis系列-内存分配
- 23种设计模式-ProtoType原型模式
- iOS 友盟分享小技巧
- 如何使用JavaScript构建机器学习模型
- KL散度(Kullback-Leibler_divergence)
- 在 CentOS6.8 下配置安装部署FastDFS5.05+Nginx模块上传测试
- tiny-cnn开源库的使用(MNIST)