Partilhar via


CObList::RemoveAt

Remove o elemento especificado de esta lista.

void RemoveAt(
   POSITION position 
);

Parâmetros

  • posição
    A posição do elemento ser removido da lista.

Comentários

Quando você remove um elemento de CObList, você remover o ponteiro do objeto da lista.É de sua responsabilidade excluir os objetos propriamente.

Você deve garantir que o valor de POSIÇÃO representa uma posição válido na lista.Se for inválido, então a versão de depuração de biblioteca de classes da Microsoft foundation afirma.

A tabela a seguir mostra outras funções de membro que são semelhantes a CObList::RemoveAt.

Classe

Função de membro

CPtrList

void RemoveAt( POSITION posição );

CStringList

void RemoveAt( POSITION posição );

Exemplo

Cuidado ao remover um elemento durante uma iteração da lista.O exemplo a seguir mostra uma técnica de remoção que garante um valor válido de POSIÇÃO para GetNext.

Consulte CObList::CObList para uma listagem da classe de CAge .

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      

Os resultados do programa é a seguinte:

RemoveAt example: A CObList with 2 elements

a CAge at $4C1E 65

a CAge at $4B22 21

Requisitos

Cabeçalho: afxcoll.h

Consulte também

Referência

Classe de CObList

Gráfico de hierarquia