Поделиться через


AfxDoForAllObjects

Выполняет заданную функцию итерации для всех объектов, производных от CObject, которые были выделены с новый.

void AfxDoForAllObjects(
   void (*pfn
)(CObject* pObject,
   void* pContext
),
   void* pContext 
); 

Параметры

  • pfn
    Указывает на функцию итерации, выполняемых для каждого объекта.Аргументы функции указатель на CObject и пустой указатель на дополнительным данным разделах предоставляет вызывающего объекта в функции.

  • pContext
    К дополнительным данным указывает, что вызывающий может указывать на функцию итерации.Данный указатель может быть NULL.

Заметки

Стек, глобальной или внедренные объекты не перечислены.Указатель, передаваемый AfxDoForAllObjects в pContext передается в заданной функции итерации каждый раз, когда он вызывается.

ПримечаниеПримечание

Эта функция работает только в отладочной версии 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

Требования

Header: afx.h

См. также

Основные понятия

Макросы и глобальные MFC