CObList::RemoveAt
quita el elemento especificado de esta lista.
void RemoveAt(
POSITION position
);
Parámetros
- posición
La posición del elemento que se va a quitar de la lista.
Comentarios
Cuando se quita un elemento de CObList, quita el puntero de objeto de la lista. Es responsabilidad eliminar los propios objetos.
Debe asegurarse de que el valor de POSICIÓN representa una posición válida en la lista. Si no es válido, la versión de depuración de la biblioteca Microsoft Foundation Class aserciones.
La tabla siguiente se muestran otras funciones miembro que son similares a CObList::RemoveAt.
Clase |
Función miembro |
---|---|
posición);deRemoveAt vacío (POSICIÓN |
|
posición);deRemoveAt vacío (POSICIÓN |
Ejemplo
Tenga cuidado al quitar un elemento durante una iteración de la lista. El ejemplo siguiente se muestra una técnica de eliminación que garantice un valor válido de POSICIÓN para GetNext.
Vea CObList:: CObList para una lista de la clase 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
Los resultados de este programa son los siguientes:
RemoveAt example: A CObList with 2 elements
a CAge at $4C1E 65
a CAge at $4B22 21
Requisitos
encabezado: afxcoll.h