AfxDoForAllObjects
Executa a função de iteração especificado para todos os objetos derivados de CObject que foram alocados novo.
void AfxDoForAllObjects(
void (*pfn
)(CObject* pObject,
void* pContext
),
void* pContext
);
Parâmetros
pfn
Aponta para uma função de iteração ser executado para cada objeto.Os argumentos de função são um ponteiro para um CObject e um ponteiro nulo para dados extras que o chamador forneça à função.pContext
Aponta para dados opcionais que o chamador pode fornecer para a função de iteração.Esse ponteiro pode ser NULO.
Comentários
Pilha, global, ou objetos incorporados não são enumerados.O ponteiro é passado para AfxDoForAllObjects em pContext é passado para a função de iteração especificado sempre que for chamada.
Observação: |
---|
Essa função funciona apenas na versão de depurar do MFC. |
Exemplo
#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
Requisitos
Cabeçalho: afx.h