CObList::RemoveAt
Remove o elemento especificado da lista.
void RemoveAt(
POSITION position
);
Parâmetros
- posição
A posição do elemento a ser removido da lista.
Comentários
Quando você remove um elemento de um CObList, remova o indicador de objeto da lista. É sua responsabilidade para excluir os objetos em si.
Você deve garantir que seu POSIÇÃOvalor de representa uma posição válida na lista.Se for inválido, versão de depurar de biblioteca Microsoft Foundation classe declara.
A tabela a seguir mostra outras funções de membro semelhantes a CObList::RemoveAt.
Classe |
Função de membro |
---|---|
POSITION (RemoveAt void position ); |
|
POSITION (RemoveAt void position ); |
Exemplo
Tenha cuidado ao remover um elemento durante uma iteração de lista.O exemplo a seguir mostra uma técnica de remoção que garante um válido POSIÇÃO valor de GetNext.
See CObList::CObList para obter uma lista do CAge classe.
CObList list;
POSITION pos1, pos2;
CObject* pa;
list.AddHead(new CAge(21));
list.AddHead(new CAge(40));
list.AddHead(new CAge(65)); // List now contains (65 40, 21).
for (pos1 = list.GetHeadPosition(); (pos2 = pos1) != NULL;)
{
if (*(CAge*) list.GetNext(pos1) == CAge(40))
{
pa = list.GetAt(pos2); // Save the old pointer for
//deletion.
list.RemoveAt(pos2);
delete pa; // Deletion avoids memory leak.
}
}
#ifdef _DEBUG
afxDump.SetDepth(1);
afxDump << _T("RemoveAt example: ") << &list << _T("\n");
#endif
sistema autônomo resultados deste programa são da seguinte maneira:
RemoveAt example: A CObList with 2 elements
a CAge at $4C1E 65
a CAge at $4B22 21
Requisitos
Cabeçalho: afxcoll.h