CObArray::GetData
更新 : 2007 年 11 月
配列の要素へ直接アクセスする場合に、このメンバ関数を使用します。
const CObject** GetData( ) const;
CObject** GetData( );
戻り値
CObject ポインタの配列へのポインタを返します。
解説
要素が存在しない場合、GetData は null 値を返します。
配列の要素へ直接アクセスすることで、処理は迅速になりますが、エラーが発生すると配列の要素へ直接影響を与えるので、GetData の使用には十分注意してください。
CObArray::GetData に類似している他のメンバ関数を以下に示します。
クラス |
メンバ関数 |
---|---|
const BYTE* GetData( ) const;BYTE* GetData( ); |
|
const DWORD* GetData( ) const;DWORD* GetData( ); |
|
const void** GetData( ) const;void** GetData( ); |
|
const CString* GetData( ) const;CString* GetData( ); |
|
const UINT* GetData( ) const;UINT* GetData( ); |
|
const WORD* GetData( ) const;WORD* GetData( ); |
使用例
すべてのコレクションの例で使われている CAge クラスのリストについては、CObList::CObList を参照してください。
CObArray myArray;
// Allocate memory for at least 32 elements.
myArray.SetSize(32, 128);
// Add elements to the array.
CAge** ppAge = (CAge**) myArray.GetData();
for (int i = 0; i < 32; i++, ppAge++)
*ppAge = new CAge(i);
// Only keep first 5 elements and free extra (unused) bytes.
for (int i = 5; i < myArray.GetCount(); i++)
{
delete myArray[i]; // free objects before resetting array size.
}
myArray.SetSize(5, 128);
myArray.FreeExtra(); // only frees pointers.
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("myArray: ") << &myArray << _T("\n");
#endif
必要条件
ヘッダー : afxcoll.h