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