次の方法で共有


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

参照

概念

MFC マクロとグローバル