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 |
---|---|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
void RemoveAt( INT_PTR nIndex, INT_PTR nCount = 1 ); |
|
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