CAtlMap选件类

此选件类为创建和管理映射对象的方法。

template<
   typename K,
   typename V,
   class KTraits = CElementTraits< K >,
   class VTraits = CElementTraits< V >
>
class CAtlMap

参数

  • K
    关键元素类型。

  • V
    值元素类型。

  • KTraits
    用于的代码复制或移动关键元素。有关详细信息 CElementTraits选件类 参见。

  • VTraits
    用于的代码复制或移动值元素。

成员

w6fwh89e.collapse_all(zh-cn,VS.110).gif公共 Typedefs

名称

说明

CAtlMap::KINARGTYPE

使用的类型的键,以将作为输入参数

CAtlMap::KOUTARGTYPE

使用的类型,而该返回作为输出参数。

CAtlMap::VINARGTYPE

使用的类型,该值作为输入参数。

CAtlMap::VOUTARGTYPE

使用的类型,该值将作为输出参数。

w6fwh89e.collapse_all(zh-cn,VS.110).gif公共类

名称

说明

CAtlMap::CPair选件类

一个包含键和值的元素的选件类。

w6fwh89e.collapse_all(zh-cn,VS.110).gifCPair数据成员

名称

说明

CAtlMap::CPair::m_key

存储关键元素的数据成员。

CAtlMap::CPair::m_value

存储值的元素的数据成员。

w6fwh89e.collapse_all(zh-cn,VS.110).gif公共构造函数

名称

说明

CAtlMap::CAtlMap

构造函数。

CAtlMap::~CAtlMap

该析构函数。

w6fwh89e.collapse_all(zh-cn,VS.110).gif公共方法

名称

说明

CAtlMap::AssertValid

调用此方法会导致断言 CAtlMap 是否无效。

CAtlMap::DisableAutoRehash

调用此方法禁用自动改作 CAtlMap 对象。

CAtlMap::EnableAutoRehash

调用此方法启用自动改作 CAtlMap 对象。

CAtlMap::GetAt

调用此方法返回元素在映射中的指定位置。

CAtlMap::GetCount

调用此方法检索元素数。映射。

CAtlMap::GetHashTableSize

调用此方法来确定框数。映射的哈希表中。

CAtlMap::GetKeyAt

调用此方法检索密钥存储在 CAtlMap 对象的特定位置。

CAtlMap::GetNext

调用此方法获取指向下一个元素对存储在 CAtlMap 对象。

CAtlMap::GetNextAssoc

获取重复的下一个元素。

CAtlMap::GetNextKey

调用此方法从 CAtlMap 对象检索下密钥。

CAtlMap::GetNextValue

调用此方法获取 CAtlMap 对象的下一个值。

CAtlMap::GetStartPosition

调用此方法开始映射迭代。

CAtlMap::GetValueAt

调用此方法检索值存储在 CAtlMap 对象的特定位置。

CAtlMap::InitHashTable

调用此方法初始化哈希表。

CAtlMap::IsEmpty

调用此方法测试空控件对象。

CAtlMap::Lookup

调用此方法查找键或值。CAtlMap 对象。

CAtlMap::Rehash

调用此方法以改作 CAtlMap 对象。

CAtlMap::RemoveAll

调用此方法从 CAtlMap 对象中移除所有元素。

CAtlMap::RemoveAtPos

调用此方法会移除该元素在 CAtlMap 对象的特定位置。

CAtlMap::RemoveKey

调用此方法从 CAtlMap 对象中移除元素命名键。

CAtlMap::SetAt

调用此方法将一对元素添加到映射中插入。

CAtlMap::SetOptimalLoad

调用此方法设置 CAtlMap 对象的最佳的负载。

CAtlMap::SetValueAt

调用此方法将值存储在 CAtlMap 对象的特定位置。

w6fwh89e.collapse_all(zh-cn,VS.110).gif公共运算符

名称

说明

CAtlMap::operator []

替换或添加新元素。CAtlMap

备注

CAtlMap 提供用于映射的一些任何给定类型的支持,管理无序的关键元素及其关联的值。元素(其中包括注册表项和值)使用哈希算法,存储,允许大量数据有效地存储和检索。

KTraits 和 VTraits 参数是包含必需的全部将代码复制或移动元素的特征选件类。

CRBMap 选件类提供对 CAtlMap 的替代方法。还CRBMap 存储键/值对,但是,显示不同的性能特征。时所需的插入项,搜索一个键或从 CRBMap 对象中删除密钥是订单 记录(n),其中 n 是元素的数目。对于 CAtlMap,所有这些操作通常需要常量时,不过,最坏情况可能是顺序 *n。*因此,在典型的情况下,CAtlMap 更快。

当循环存储元素时,在 CRBMapCAtlMap 之间的另一个差异变得非常明显。在 CRBMap,元素按排序顺序访问。在 CAtlMap,元素未排序,并且,顺序不可推断。

当需要存储时少量元素,请考虑使用 CSimpleMap 选件类。

有关更多信息,请参见 ATL 集合选件类

要求

Header: atlcoll.h

请参见

概念

marquee示例

UpdatePV示例

其他资源

ATL选件类概述