AfxDoForAllObjects
CObject から派生される newで割り当てられたすべてのオブジェクトに対して指定されたイテレーション関数を実行します。
void AfxDoForAllObjects(
void (*pfn
)(CObject* pObject,
void* pContext
),
void* pContext
);
パラメーター
pfn
オブジェクトごとに実行するイテレーション関数へのポインター。 関数の引数は CObject へのポインターや関数の呼び出し元がその追加データに void なポインターです。pContext
呼び出し元がイテレーション関数に指定できるオプション データへのポインター。 このポインターは NULLです。
解説
スタック、Global、または埋め込みオブジェクトは、列挙されません。 pContext の AfxDoForAllObjects に渡すポインターは、指定されたイテレーション関数が呼び出されるたびに渡されます。
注意
この関数は、MFC ライブラリのデバッグ バージョンでだけ使用できます。
使用例
#ifdef _DEBUG
void DoForAllObjects(CObject* pObject, void* pContext)
{
int *pnCount = (int*)pContext;
pObject->AssertValid();
if (pnCount != NULL)
(*pnCount)++;
}
#endif // _DEBUG
#ifdef _DEBUG
//AfxDoForAllObjects will call the function DoForAllObjects
//For each CObject-derived object that is allocated on the heap
int nCount = 0;
AfxDoForAllObjects(DoForAllObjects, &nCount);
TRACE("%d Objects Checked\n", nCount);
#endif
必要条件
ヘッダー : afx.h