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


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