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 |
---|---|
posizione);divoid RemoveAt( POSITION |
|
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