AfxDoForAllObjects
アプリケーションのメモリ空間に new を使って割り当てられたすべての CObject 派生クラスのために反復関数を実行します。
void AfxDoForAllObjects(
void (*pfn
)(CObject* pObject,
void* pContext
),
void* pContext
);
パラメーター
pfn
各クラスで実行する反復関数へのポインター。 この関数の引数は、CObject へのポインターと、呼び出し元が関数に提供する補足データへの void ポインターです。pContext
呼び出し側が反復関数に引き渡せる省略可能なデータへのポインター。 このポインターは NULL でもかまいません。
解説
スタック オブジェクト、グローバル オブジェクト、埋め込みオブジェクトは含まれません。 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