CObList::RemoveAt

Rimuove l'elemento specificato da questo elenco.

void RemoveAt(
   POSITION position 
);

Parametri

  • position
    La posizione dell'elemento dall'elenco.

Note

Quando si elimina un elemento da CObList, si rimuove il puntatore a un oggetto dall'elenco.È responsabilità di eliminare gli oggetti.

È necessario assicurarsi che il valore della posizione rappresenta un percorso valido nell'elenco.Se non è valido, quindi la versione di debug delle asserzioni della libreria MFC.

Nella tabella seguente vengono illustrate altre funzioni membro che sono simili a CObList::RemoveAt.

Classe

Funzione membro

CPtrList

posizione);divoid RemoveAt( POSITION

CStringList

posizione);divoid RemoveAt( POSITION

Esempio

Prestare attenzione quando si elimina un elemento durante l'iterazione dell'elenco.Nell'esempio seguente viene illustrata una tecnica di rimozione che garantisce un valore di percorso valido per GetNext.

Vedere CObList::CObList per un elenco 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      

I risultati di questo programma sono:

RemoveAt example: A CObList with 2 elements

a CAge at $4C1E 65

a CAge at $4B22 21

Requisiti

Header: afxcoll.h

Vedere anche

Riferimenti

Classe di CObList

Grafico della gerarchia