Freigeben über


CObArray::RemoveAt

Entfernt eine oder mehrere Elemente, die mit einem angegebenen Index in einem Array starten.

void RemoveAt(
   INT_PTR nIndex,
   INT_PTR nCount = 1 
);

Parameter

  • nIndex
    Ein ganzzahlige Index, der größer oder gleich 0 und kleiner oder gleich dem Wert, der von GetUpperBound zurückgegeben wird.

  • nCount
    Die Anzahl der zu entfernenden Elemente.

Hinweise

Im Prozess rückt es um alle Elemente über den entfernten Elemente.Es verringert, die Obergrenze des Arrays gibt jedoch kein Arbeitsspeicher frei.

Wenn Sie versuchen, mehr Elemente als zu entfernen, im Array über dem Entfernenpunkt enthalten sind, dann die Debugversion der Bibliotheksassertionen.

Die RemoveAt-Funktion entfernt den CObject Zeiger aus dem Array, jedoch wird nicht das Objekt selbst.

In der folgenden Tabelle werden andere Memberfunktionen auf, die mit CObArray::RemoveAt ähneln.

Klasse

Memberfunktion

CByteArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CDWordArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CPtrArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CStringArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CUIntArray

void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 );

CWordArray

nCount = 1 );void RemoveAt( INT_PTRnIndex, INT_PTR

Beispiel

Siehe CObList::CObList für Listen der CAge-Klasse, die in allen Auflistungsbeispielen verwendet wird.

CObArray arr;
CObject* pa;

arr.Add(new CAge(21)); // Element 0
arr.Add(new CAge(40)); // Element 1
if((pa = arr.GetAt(0)) != NULL)
{
    arr.RemoveAt(0);  // Element 1 moves to 0.
    delete pa; // Delete the original element at 0.
}
#ifdef _DEBUG
   afxDump.SetDepth(1);
   afxDump << _T("RemoveAt example: ") << &arr << _T("\n");
#endif      

Die Ergebnisse dieses Programms sind, wie folgt:

RemoveAt example: A CObArray with 1 elements

[0] = a CAge at $4606 40

Anforderungen

Header: afxcoll.h

Siehe auch

Referenz

CObArray-Klasse

Hierarchien-Diagramm

CObArray::SetAt

CObArray::SetAtGrow

CObArray::InsertAt