為指標對應類別 CMapPtrToPtr、 CMapPtrToWord、 CMapWordToPtr和 CMapStringToPtr的物件提供類型安全「包裝函式」。
語法
template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS
參數
BASE_CLASS
具型別指針對應類別的基類;必須是指針對應類別 (CMapPtrToPtr、 CMapPtrToWord、 CMapWordToPtr或 CMapStringToPtr)。
鑰匙
做為對應索引鍵的物件類別。
價值
儲存在地圖中之對象的類別。
成員
公用方法
| 名稱 | 描述 |
|---|---|
| CTypedPtrMap::GetNextAssoc | 取得反覆運算的下一個專案。 |
| CTypedPtrMap::Lookup | 根據KEY傳VALUE回 。 |
| CTypedPtrMap::RemoveKey | 拿掉索引鍵所指定的專案。 |
| CTypedPtrMap::SetAt | 將專案插入對應中;如果找到相符的索引鍵,則會取代現有的專案。 |
公用運算子
| 名稱 | 描述 |
|---|---|
| CTypedPtrMap::operator [ ] | 將專案插入對應中。 |
備註
當您使用 CTypedPtrMap時,C++類型檢查設備有助於消除因指標類型不相符所造成的錯誤。
由於所有 CTypedPtrMap 函式都是內嵌的,因此使用此範本並不會影響程式代碼的大小或速度。
如需使用CTypedPtrMap的詳細資訊,請參閱集合和範本型類別一文。
繼承階層架構
BASE_CLASS
CTypedPtrMap
需求
標頭: afxtempl.h
CTypedPtrMap::GetNextAssoc
擷取位於 rNextPosition的 map 元素,然後更新 rNextPosition 以參考對應中的下一個專案。
void GetNextAssoc(
POSITION& rPosition,
KEY& rKey,
VALUE& rValue) const;
參數
rPosition
指定先前 GetNextAssoc 或 BASE_CLASS::GetStartPosition 呼叫所傳回之 POSITION 值的參考。
鑰匙
指定對應索引鍵類型的樣板參數。
rKey
指定所擷取項目的傳回索引鍵。
價值
指定地圖值的型別的樣板參數。
rValue
指定擷取之項目的傳回值。
備註
此函式最適合逐一查看對應中的所有元素。 請注意,位置序列不一定與索引鍵值序列相同。
如果擷取的項目是對應中的最後一個,則 的新值 rNextPosition 會設定為NULL。
此內嵌函式會呼叫 BASE_CLASS::GetNextAssoc。
CTypedPtrMap::Lookup
Lookup 會使用哈希演算法,以完全符合的索引鍵快速尋找對應專案。
BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;
參數
BASE_CLASS
樣板參數,指定這個對應類別的基類。
鍵
要查閱之專案的索引鍵。
價值
樣板參數,指定儲存在此對應中的值類型。
rValue
指定擷取之項目的傳回值。
傳回值
如果找到專案,則為非零;否則為 0。
備註
此內嵌函式會呼叫 BASE_CLASS::Lookup。
CTypedPtrMap::operator [ ]
這個運算子只能在指派語句的左邊使用(l-value)。
VALUE& operator[ ](base_class ::base_arg_key key);
參數
價值
樣板參數,指定儲存在此對應中的值類型。
BASE_CLASS
樣板參數,指定這個對應類別的基類。
鍵
要在地圖上查閱或建立之專案的索引鍵。
備註
如果沒有具有指定索引鍵的 map 元素,則會建立新的專案。 沒有與這個運算符相等的「右側」(r-value),因為有可能在對應中找不到索引鍵。
Lookup使用成員函式來擷取專案。
CTypedPtrMap::RemoveKey
此成員函式會呼叫 BASE_CLASS::RemoveKey。
BOOL RemoveKey(KEY key);
參數
鑰匙
指定對應索引鍵類型的樣板參數。
鍵
要移除之專案的索引鍵。
傳回值
如果找到並成功移除專案,則為非零;否則為 0。
備註
如需更詳細的備註,請參閱 CMapStringToOb::RemoveKey。
CTypedPtrMap::SetAt
此成員函式會呼叫 BASE_CLASS::SetAt。
void SetAt(KEY key, VALUE newValue);
參數
鑰匙
指定對應索引鍵類型的樣板參數。
鍵
指定 newValue 的索引鍵值。
newValue
指定物件指標,這個指標是新專案的值。
備註
如需更詳細的備註,請參閱 CMapStringToOb::SetAt。
另請參閱
MFC 範例 COLLECT
階層架構圖表
CMapPtrToPtr 類別
CMapPtrToWord 類別
CMapWordToPtr 類別
CMapStringToPtr 類別