一、映射(Map)的基本概念
映射(Map):将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。
在map中可以使用匿名对象快速找到一个key对应的value。因此,在需要对大量数据进行查找操作而查找的性能又占据重要地位 的场合,Map无疑是一种较理想的容器。
通常,当一个Map对象被删除时,或者,当其中的元素被移除时,关键字和元素值也将被完全删除
二、基本函数
1.CMap原型:
template <class KEY,class ARG_KEY,class VALUE, class ARG_VALUE>
class CMap:public CObject
2.SetAt:在映射中插入一个元素,但假如发现了相匹配的关键码,则替换已经存在的元素
void SetAt(ARG_KEY key, ARG_VALUE newValue)
参数:
ARG_KEY 指定参数key类型的模板参数。
key 指定新元素的关键码。
ARG_VALUE 指定参数newValue类型的模板参数。
newValue 指定新元素的值。
3.operator []:
既可以用来赋值,也可以用来取出值(适用于知道对应键值的情况)
VALUE& operator [](ARG_KEY key)
参数:
VALUE 指定映射值类型的模板参数。
ARG_KEY 指定参数key类型的模板参数。
key 用于从映射中获取值的关键码。
4.Lookup:查找与指定关键码对应的值
BOOL Lookup(ARG_KEY key, VALUE& rValue) const
返回值:
如果发现了元素,则返回非零值,否则为0。
//注意:这里的失败返回值为0,故不能将0值做为有效的值,否则将发生混淆
参数:
ARG_KEY 指定关键码值类型的模板参数。
key 指定标识要查找元素的关键码。
VALUE 指定要查找值的类型。
rValue 接受要查找的值