次の方法で共有


CObArray::GetData

更新 : 2007 年 11 月

配列の要素へ直接アクセスする場合に、このメンバ関数を使用します。

const CObject** GetData( ) const;  
CObject** GetData( );

戻り値

CObject ポインタの配列へのポインタを返します。

解説

要素が存在しない場合、GetData は null 値を返します。

配列の要素へ直接アクセスすることで、処理は迅速になりますが、エラーが発生すると配列の要素へ直接影響を与えるので、GetData の使用には十分注意してください。

CObArray::GetData に類似している他のメンバ関数を以下に示します。

クラス

メンバ関数

CByteArray

const BYTE* GetData( ) const;BYTE* GetData( );

CDWordArray

const DWORD* GetData( ) const;DWORD* GetData( );

CPtrArray

const void** GetData( ) const;void** GetData( );

CStringArray

const CString* GetData( ) const;CString* GetData( );

CUIntArray

const UINT* GetData( ) const;UINT* GetData( );

CWordArray

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

参照

参照

CObArray クラス

階層図

CObArray::GetAt

CObArray::SetAt

CObArray::ElementAt

その他の技術情報

CObArray のメンバ