CTypedPtrMap Class

CMapPtrToPtrCMapPtrToWordCMapWordToPtrCMapStringToPtr指针映射类的对象提供安全类型“包装器”。

语法

template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS

参数

BASE_CLASS
类型化指针映射类的基类;必须是指针映射类(CMapPtrToPtrCMapPtrToWordCMapWordToPtrCMapStringToPtr)。

KEY
用作映射键的对象的类。

VALUE
映射中存储的对象的类。

成员

公共方法

名称 描述
CTypedPtrMap::GetNextAssoc 获取要迭代的下一个元素。
CTypedPtrMap::Lookup 返回一个基于 VALUEKEY
CTypedPtrMap::RemoveKey 移除键指定的元素。
CTypedPtrMap::SetAt 将元素插入映射;如果找到匹配键,则替换现有元素。

公共运算符

“属性” 描述
CTypedPtrMap::operator [ ] 在映射中插入一个元素。

备注

使用 CTypedPtrMap 时,C++ 类型检查设备有助于消除由不匹配的指针类型引起的错误。

由于所有 CTypedPtrMap 函数都是内联函数,因此使用此模板不会显著影响代码的大小或速度。

有关使用 CTypedPtrMap 的详细信息,请参阅文章:集合基于模板的类

继承层次结构

BASE_CLASS

CTypedPtrMap

要求

标头: afxtempl.h

CTypedPtrMap::GetNextAssoc

检索 rNextPosition 处的映射元素,然后更新 rNextPosition 以引用映射中的下一个元素。

void GetNextAssoc(
    POSITION& rPosition,
    KEY& rKey,
    VALUE& rValue) const;

参数

rPosition
指定对先前 GetNextAssocBASE_CLASS ::GetStartPosition 调用返回的 POSITION 值的引用

KEY
指定映射键的类型的模板参数。

rKey
指定检索到的元素的返回键。

VALUE
指定映射值的类型的模板参数。

rValue
指定检索到的元素的返回值。

备注

此函数对于循环访问映射中的所有元素最有用。 请注意,位置序列不一定与键值序列相同。

如果检索到的元素是映射中的最后一个元素,则 rNextPosition 的新值设置为 NULL。

此内联函数调用 BASE_CLASSGetNextAssoc

CTypedPtrMap::Lookup

Lookup 使用哈希算法快速找到键完全匹配的映射元素。

BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;

参数

BASE_CLASS
指定此映射类的基类的模板参数。


要查找的元素的键。

VALUE
指定存储在此映射中的值的类型的模板参数。

rValue
指定检索到的元素的返回值。

返回值

如果找到该元素,则为非零;否则为 0。

注解

此内联函数调用 BASE_CLASS::Lookup

CTypedPtrMap::operator [ ]

此运算符只能在赋值语句的左侧 (l-value) 使用。

VALUE& operator[ ](base_class ::base_arg_key key);

参数

VALUE
指定存储在此映射中的值的类型的模板参数。

BASE_CLASS
指定此映射类的基类的模板参数。


要在映射上查找或创建的元素的键。

备注

如果没有具有指定键的映射元素,则会创建一个新元素。 因为映射中可能找不到键,所以没有等效于此运算符的“右侧”(r-value)。 使用 Lookup 成员函数进行元素检索。

CTypedPtrMap::RemoveKey

此成员函数调用 BASE_CLASS::RemoveKey

BOOL RemoveKey(KEY key);

参数

KEY
指定映射键的类型的模板参数。


要移除的元素的键。

返回值

如果找到并成功移除条目,则为非零;否则为 0。

注解

有关更多详细信息注解,请参阅 CMapStringToOb::RemoveKey

CTypedPtrMap::SetAt

此成员函数调用 BASE_CLASS::SetAt

void SetAt(KEY key, VALUE newValue);

参数

KEY
指定映射键的类型的模板参数。


指定 newValue 的键值。

newValue
指定作为新元素的值的对象指针。

注解

有关更多详细信息注解,请参阅 CMapStringToOb::SetAt

另请参阅

MFC 示例 COLLECT
层次结构图
CMapPtrToPtr 类
CMapPtrToWord 类
CMapWordToPtr 类
CMapStringToPtr 类