次の方法で共有


CTypedPtrArray クラス

CPtrArray クラスまたは CObArrayクラスのオブジェクトに対してタイプセーフな "ラッパー" を提供します。

構文

template<class BASE_CLASS, class TYPE>
class CTypedPtrArray : public BASE_CLASS

パラメーター

BASE_CLASS
型指定されたポインター配列クラスの基底クラス。は配列クラス ( CObArray または CPtrArray) である必要があります。

TYPE
基底クラス配列に格納されている要素の型。

メンバー

パブリック メソッド

名前 説明
CTypedPtrArray::Add 配列の末尾に新しい要素を追加します。 必要に応じて配列を拡大する
CTypedPtrArray::Append ある配列の内容を別の配列の末尾に追加します。 必要に応じて配列を拡大する
CTypedPtrArray::Copy 配列に別の配列をコピーします。必要に応じて、配列を大きくします。
CTypedPtrArray::ElementAt 配列内の要素ポインターへの一時的な参照を返します。
CTypedPtrArray::GetAt 指定されたインデックス位置にある値を返します。
CTypedPtrArray::InsertAt 指定されたインデックス位置に要素 (または別の配列内のすべての要素) を挿入します。
CTypedPtrArray::SetAt 指定されたインデックスの値を設定します。配列は大きくできません。
CTypedPtrArray::SetAtGrow 指定されたインデックスの値を設定します。必要に応じて、配列を大きくします。

パブリック演算子

名前 説明
CTypedPtrArray::operator [ ] 指定されたインデックス位置にある要素を設定または取得します。

解説

CPtrArrayCObArrayではなくCTypedPtrArrayを使用する場合、C++ 型チェック機能は、ポインター型の不一致によって発生するエラーを排除するのに役立ちます。

さらに、 CTypedPtrArray ラッパーは、 CObArray または CPtrArrayを使用した場合に必要となるキャストの多くを実行します。

すべての CTypedPtrArray 関数はインラインであるため、このテンプレートを使用してもコードのサイズや速度に大きな影響はありません。

CTypedPtrArrayの使用方法の詳細については、Collections および Template ベースのクラスに関する記事を参照してください。

継承階層

BASE_CLASS

CTypedPtrArray

要件

ヘッダー: afxtempl.h

CTypedPtrArray::Add

このメンバー関数は、 BASE_CLASS::Add を呼び出します。

INT_PTR Add(TYPE newElement);

パラメーター

TYPE
配列に追加する要素の型を指定するテンプレート パラメーター。

newElement
この配列に追加する要素。

戻り値

追加された要素のインデックス。

解説

詳細な解説については、 CObArray::Add を参照してください。

CTypedPtrArray::Append

このメンバー関数は、 BASE_CLASS::Append** を呼び出します。

INT_PTR Append(const CTypedPtrArray<BASE_CLASS, TYPE>& src);

パラメーター

BASE_CLASS
型指定されたポインター配列クラスの基底クラス。は、配列クラス ( CObArray または CPtrArray) である必要があります。

TYPE
基底クラス配列に格納されている要素の型。

src
配列に追加する要素のソース。

戻り値

最初に追加された要素のインデックス。

解説

詳細な解説については、 CObArray::Append を参照してください。

CTypedPtrArray::Copy

このメンバー関数は、 BASE_CLASS::Copy を呼び出します。

void Copy(const CTypedPtrArray<BASE_CLASS, TYPE>& src);

パラメーター

BASE_CLASS
型指定されたポインター配列クラスの基底クラス。は、配列クラス ( CObArray または CPtrArray) である必要があります。

TYPE
基底クラス配列に格納されている要素の型。

src
配列にコピーする要素のソース。

解説

詳細については、 CObArray::Copy を参照してください。

CTypedPtrArray::ElementAt

このインライン関数は、 BASE_CLASS::ElementAt を呼び出します。

TYPE& ElementAt(INT_PTR nIndex);

パラメーター

TYPE
この配列に格納されている要素の型を指定するテンプレート パラメーター。

nIndex
0 以上で、 BASE_CLASS::GetUpperBound によって返される値以下の整数インデックス。

戻り値

nIndex で指定された場所にある要素への一時的な参照。 この要素は、テンプレート パラメーター TYPE で指定された型です。

解説

詳細な解説については、 CObArray::ElementAt を参照してください。

CTypedPtrArray::GetAt

このインライン関数は、 BASE_CLASS::GetAt を呼び出します。

TYPE GetAt(INT_PTR nIndex) const;

パラメーター

TYPE
配列に格納されている要素の型を指定するテンプレート パラメーター。

nIndex
0 以上で、 BASE_CLASS::GetUpperBound によって返される値以下の整数インデックス。

戻り値

nIndex で指定された場所にある要素のコピー。 この要素は、テンプレート パラメーター TYPE で指定された型です。

解説

詳細については、「 CObArray::GetAt」を参照してください。

CTypedPtrArray::InsertAt

このメンバー関数は、 BASE_CLASS::InsertAt を呼び出します。

void InsertAt(
    INT_PTR nIndex,
    TYPE newElement,
    INT_PTR nCount = 1);

void InsertAt(
    INT_PTR nStartIndex,
    CTypedPtrArray<BASE_CLASS, TYPE>* pNewArray);

パラメーター

nIndex
CObArray::GetUpperBound によって返される値より大きい整数インデックス。

TYPE
基底クラス配列に格納されている要素の型。

newElement
この配列に配置するオブジェクト ポインター。 値 NULLnewElementを使用できます。

nCount
この要素を挿入する回数 (既定値は 1)。

nStartIndex
CObArray::GetUpperBoundによって返される値より大きい可能性がある整数インデックス。

BASE_CLASS
型指定されたポインター配列クラスの基底クラス。は、配列クラス ( CObArray または CPtrArray) である必要があります。

pNewArray
この配列に追加する要素を含む別の配列。

解説

詳細については、「 CObArray::InsertAt」を参照してください。

CTypedPtrArray::operator [ ]

これらのインライン演算子は、 BASE_CLASS::operator [ ]を呼び出します。

TYPE& operator[ ](int_ptr nindex);
TYPE operator[ ](int_ptr nindex) const;

パラメーター

TYPE
配列に格納されている要素の型を指定するテンプレート パラメーター。

nIndex
0 以上で、 BASE_CLASS::GetUpperBound によって返される値以下の整数インデックス。

解説

constされていない配列に対して呼び出される最初の演算子は、代入ステートメントの右 (r 値) または左 (l 値) で使用できます。 2 つ目は、 const 配列に対して呼び出され、右側でのみ使用できます。

ライブラリのデバッグ バージョンは、下付き文字 (代入ステートメントの左側または右側) が範囲外の場合にアサートします。

CTypedPtrArray::SetAt

このメンバー関数は、 BASE_CLASS::SetAt を呼び出します。

void SetAt(
    INT_PTR nIndex,
    TYPE ptr);

パラメーター

nIndex
0 以上で、 CObArray::GetUpperBound によって返される値以下の整数インデックス。

TYPE
基底クラス配列に格納されている要素の型。

ptr
nIndex の配列に挿入される要素へのポインター。 NULL 値を使用できます。

解説

詳細な解説については、 CObArray::SetAt を参照してください。

CTypedPtrArray::SetAtGrow

このメンバー関数は、 BASE_CLASS::SetAtGrow を呼び出します。

void SetAtGrow(
    INT_PTR nIndex,
    TYPE newElement);

パラメーター

nIndex
0 以上の整数インデックス。

TYPE
基底クラス配列に格納されている要素の型。

newElement
この配列に追加するオブジェクト ポインター。 NULL値を指定できます。

解説

詳細については、 CObArray::SetAtGrow を参照してください。

関連項目

MFC サンプル COLLECT
階層図
CPtrArray クラス
CObArray クラス