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 [ ] | 指定されたインデックス位置にある要素を設定または取得します。 |
解説
CPtrArray
やCObArray
ではなく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
この配列に配置するオブジェクト ポインター。 値 NULL のnewElementを使用できます。
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 を参照してください。