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