CAtlMap选件类
此选件类为创建和管理映射对象的方法。
template<
typename K,
typename V,
class KTraits = CElementTraits< K >,
class VTraits = CElementTraits< V >
>
class CAtlMap
参数
K
关键元素类型。V
值元素类型。KTraits
用于的代码复制或移动关键元素。 有关详细信息 CElementTraits选件类 参见。VTraits
用于的代码复制或移动值元素。
成员
公共 Typedefs
名称 |
说明 |
---|---|
使用的类型的键,以将作为输入参数 |
|
使用的类型,而该返回作为输出参数。 |
|
使用的类型,该值作为输入参数。 |
|
使用的类型,该值将作为输出参数。 |
公共类
名称 |
说明 |
---|---|
一个包含键和值的元素的选件类。 |
CPair数据成员
名称 |
说明 |
---|---|
存储关键元素的数据成员。 |
|
存储值的元素的数据成员。 |
公共构造函数
名称 |
说明 |
---|---|
构造函数。 |
|
该析构函数。 |
公共方法
名称 |
说明 |
---|---|
调用此方法会导致断言 CAtlMap 是否无效。 |
|
调用此方法禁用自动改作 CAtlMap 对象。 |
|
调用此方法启用自动改作 CAtlMap 对象。 |
|
调用此方法返回元素在映射中的指定位置。 |
|
调用此方法检索元素数。映射。 |
|
调用此方法来确定框数。映射的哈希表中。 |
|
调用此方法检索密钥存储在 CAtlMap 对象的特定位置。 |
|
调用此方法获取指向下一个元素对存储在 CAtlMap 对象。 |
|
获取重复的下一个元素。 |
|
调用此方法从 CAtlMap 对象检索下密钥。 |
|
调用此方法获取 CAtlMap 对象的下一个值。 |
|
调用此方法开始映射迭代。 |
|
调用此方法检索值存储在 CAtlMap 对象的特定位置。 |
|
调用此方法初始化哈希表。 |
|
调用此方法测试空控件对象。 |
|
调用此方法查找键或值。CAtlMap 对象。 |
|
调用此方法以改作 CAtlMap 对象。 |
|
调用此方法从 CAtlMap 对象中移除所有元素。 |
|
调用此方法会移除该元素在 CAtlMap 对象的特定位置。 |
|
调用此方法从 CAtlMap 对象中移除元素命名键。 |
|
调用此方法将一对元素添加到映射中插入。 |
|
调用此方法设置 CAtlMap 对象的最佳的负载。 |
|
调用此方法将值存储在 CAtlMap 对象的特定位置。 |
公共运算符
名称 |
说明 |
---|---|
替换或添加新元素。CAtlMap。 |
备注
CAtlMap 提供用于映射的一些任何给定类型的支持,管理无序的关键元素及其关联的值。 元素(其中包括注册表项和值)使用哈希算法,存储,允许大量数据有效地存储和检索。
KTraits 和 VTraits 参数是包含必需的全部将代码复制或移动元素的特征选件类。
CRBMap 选件类提供对 CAtlMap 的替代方法。 还CRBMap 存储键/值对,但是,显示不同的性能特征。 时所需的插入项,搜索一个键或从 CRBMap 对象中删除密钥是订单 记录(n),其中 n 是元素的数目。 对于 CAtlMap,所有这些操作通常需要常量时,不过,最坏情况可能是顺序 n。 因此,在典型的情况下,CAtlMap 更快。
当循环存储元素时,在 CRBMap 和 CAtlMap 之间的另一个差异变得非常明显。 在 CRBMap,元素按排序顺序访问。 在 CAtlMap,元素未排序,并且,顺序不可推断。
当需要存储时少量元素,请考虑使用 CSimpleMap 选件类。
有关更多信息,请参见 ATL 集合选件类。
要求
Header: atlcoll.h