CTypedPtrMap クラス
ポインター マップ クラス CMapPtrToPtr
、 CMapPtrToWord
、 CMapWordToPtr
、および CMapStringToPtr
のオブジェクトに対してタイプ セーフな "ラップ" が用意されています。
構文
template<class BASE_CLASS, class KEY, class VALUE>
class CTypedPtrMap : public BASE_CLASS
パラメーター
BA Standard Edition_CLASS
型指定されたポインター マップ クラスの基底クラス。は、ポインター マップ クラス ( CMapPtrToPtr
、、 CMapPtrToWord
、 CMapWordToPtr
または CMapStringToPtr
) である必要があります。
KEY
マップのキーとして使用されるオブジェクトのクラス。
VALUE
マップに格納されているオブジェクトのクラス。
メンバー
パブリック メソッド
名前 | 説明 |
---|---|
CTypedPtrMap::GetNextAssoc | 次に反復処理の対象となる要素が取得されます。 |
CTypedPtrMap::Lookup | に基づいて a KEY VALUE を返します。 |
CTypedPtrMap::RemoveKey | キーで指定された要素を削除します。 |
CTypedPtrMap::SetAt | マップに要素を挿入します。は、一致するキーが見つかった場合に既存の要素を置き換えます。 |
パブリック演算子
名前 | 説明 |
---|---|
CTypedPtrMap::operator [ ] | マップに要素を挿入します。 |
解説
C++ 型チェック機能を使用CTypedPtrMap
すると、ポインター型の不一致によって発生するエラーを排除できます。
すべての CTypedPtrMap
関数はインラインであるため、このテンプレートを使用してもコードのサイズや速度に大きな影響はありません。
使用CTypedPtrMap
の詳細については、コレクションとテンプレート ベースのクラスに関する記事を参照してください。
継承階層
BASE_CLASS
CTypedPtrMap
必要条件
ヘッダー: afxtempl.h
CTypedPtrMap::GetNextAssoc
map 要素 rNextPosition
を取得し、更新 rNextPosition
してマップ内の次の要素を参照します。
void GetNextAssoc(
POSITION& rPosition,
KEY& rKey,
VALUE& rValue) const;
パラメーター
rPosition
前 GetNextAssoc
の呼び出しまたは BASE_CLASS
::GetStartPosition 呼び出しによって返される POSITION 値への参照を 指定します。
KEY
マップのキーの種類を指定するテンプレート パラメーター。
rKey
取得した要素の返されるキーを指定します。
VALUE
マップの値の型を指定するテンプレート パラメーター。
Rvalue
取得した要素の戻り値を指定します。
解説
この関数は、マップ内のすべての要素を反復処理する場合に最も便利です。 位置シーケンスは必ずしもキー値シーケンスと同じではないことに注意してください。
取得した要素がマップの最後の要素である場合、新しい値 rNextPosition
は NULL に設定されます。
このインライン関数は、::GetNextAssoc を呼び出しますBASE_CLASS
。
CTypedPtrMap::Lookup
Lookup
では、ハッシュ アルゴリズムを使用して、正確に一致するキーを持つマップ要素をすばやく検索します。
BOOL Lookup(BASE_CLASS ::BASE_ARG_KEY key, VALUE& rValue) const;
パラメーター
BA Standard Edition_CLASS
このマップのクラスの基底クラスを指定するテンプレート パラメーター。
key
検索する要素のキー。
VALUE
このマップに格納されている値の種類を指定するテンプレート パラメーター。
Rvalue
取得した要素の戻り値を指定します。
戻り値
要素が見つかった場合は 0 以外。それ以外の場合は 0。
解説
このインライン関数は、::Lookup を呼び出しますBASE_CLASS
。
CTypedPtrMap::operator [ ]
この演算子は、代入ステートメント (l 値) の左側でのみ使用できます。
VALUE& operator[ ](base_class ::base_arg_key key);
パラメーター
VALUE
このマップに格納されている値の種類を指定するテンプレート パラメーター。
BA Standard Edition_CLASS
このマップのクラスの基底クラスを指定するテンプレート パラメーター。
key
マップ内で検索または作成される要素のキー。
解説
指定したキーを持つ map 要素がない場合は、新しい要素が作成されます。 マップにキーが見つからない可能性があるため、この演算子と同等の "右側" (r 値) はありません。 要素の取得に Lookup
メンバー関数を使用します。
CTypedPtrMap::RemoveKey
このメンバー関数は、::RemoveKey を呼び出 BASE_CLASS
します。
BOOL RemoveKey(KEY key);
パラメーター
KEY
マップのキーの種類を指定するテンプレート パラメーター。
key
削除する要素のキー。
戻り値
エントリが見つかり、正常に削除された場合は 0 以外。それ以外の場合は 0。
解説
詳細については、「CMapStringToOb::RemoveKey」を参照してください。
CTypedPtrMap::SetAt
このメンバー関数は、::SetAt を呼び出しますBASE_CLASS
。
void SetAt(KEY key, VALUE newValue);
パラメーター
KEY
マップのキーの種類を指定するテンプレート パラメーター。
key
newValue のキー値を指定します。
newValue
新しい要素の値であるオブジェクト ポインターを指定します。
解説
詳細については、「CMapStringToOb::SetAt」を参照してください。
関連項目
MFC サンプル COLLECT
階層図
CMapPtrToPtr クラス
CMapPtrToWord クラス
CMapWordToPtr クラス
CMapStringToPtr クラス
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示