Udostępnij za pośrednictwem


CObArray::RemoveAt

Usuwa jeden lub więcej elementów, począwszy od określonego indeksu w tablicy.

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

Parametry

  • nIndex
    Indeks całkowitą, która jest większa lub równa 0 i mniejsza niż wartość zwracana przez GetUpperBound.

  • nCount
    Liczba elementów do usunięcia.

Uwagi

W procesie przesuwa się ją w dół wszystkich elementów powyżej elementów usuniętych.To zmniejsza górnej granicy tablicy, ale nie zwalnia pamięć.

Próba usunięcia więcej elementów niż są zawarte w tablicy powyżej punktu usuwania deklaracji rozkazujących debugowania wersja biblioteki.

RemoveAt Działać usuwa CObject wskaźnik z tablicy, ale nie powoduje usunięcia samego obiektu.

W poniższej tabeli przedstawiono funkcje, które są podobne do innego członka CObArray::RemoveAt.

Klasa

Funkcja Członkowskie

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

void RemoveAt( INT_PTRnIndex, INT_PTR nCount = 1 );

Przykład

Zobacz CObList::CObList listę CAge klasy używane we wszystkich przykładach kolekcji.

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      

Wyniki tego programu są następujące:

RemoveAt example: A CObArray with 1 elements

[0] = a CAge at $4606 40

Wymagania

Nagłówek: afxcoll.h

Zobacz też

Informacje

Klasa CObArray

Wykres hierarchii

CObArray::SetAt

CObArray::SetAtGrow

CObArray::InsertAt