CTypedPtrMap Class
为 CMapPtrToPtr
、 CMapPtrToWord
、 CMapWordToPtr
和 CMapStringToPtr
指针映射类的对象提供安全类型“包装器”。
语法
template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS
参数
BASE_CLASS
类型化指针映射类的基类;必须是指针映射类(CMapPtrToPtr
、CMapPtrToWord
、CMapWordToPtr
或 CMapStringToPtr
)。
KEY
用作映射键的对象的类。
VALUE
映射中存储的对象的类。
成员
公共方法
名称 | 描述 |
---|---|
CTypedPtrMap::GetNextAssoc | 获取要迭代的下一个元素。 |
CTypedPtrMap::Lookup | 返回一个基于 VALUE 的 KEY 。 |
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
指定对先前 GetNextAssoc
或 BASE_CLASS
::GetStartPosition 调用返回的 POSITION 值的引用。
KEY
指定映射键的类型的模板参数。
rKey
指定检索到的元素的返回键。
VALUE
指定映射值的类型的模板参数。
rValue
指定检索到的元素的返回值。
备注
此函数对于循环访问映射中的所有元素最有用。 请注意,位置序列不一定与键值序列相同。
如果检索到的元素是映射中的最后一个元素,则 rNextPosition
的新值设置为 NULL。
此内联函数调用 BASE_CLASS
GetNextAssoc。
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 类