共用方式為


CTypedPtrMap 類別

為指標對應類別 CMapPtrToPtrCMapPtrToWordCMapWordToPtrCMapStringToPtr的物件提供類型安全「包裝函式」。

語法

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

參數

BASE_CLASS
具型別指標對應類別的基類;必須是指標對應類別 ( CMapPtrToPtr 、、 CMapPtrToWordCMapWordToPtrCMapStringToPtr )。

KEY
做為對應索引鍵的物件類別。

價值
儲存在地圖中之物件的類別。

成員

公用方法

名稱 描述
CTypedPtrMap::GetNextAssoc 取得反覆運算的下一個專案。
CTypedPtrMap::Lookup 根據 VALUEKEY 回 。
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
指定先前 GetNextAssocBASE_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 類別