nieważne RemoveAt ( int nIndex, int nCount = 1 );
Parametry
nIndex
Indeks liczba całkowita, która jest większa lub równa 0 i mniejsza niż lub równa wartości zwróconej przez GetUpperBound.
nCount
Liczba elementów do usunięcia.
Uwagi
Usuwa jeden lub więcej elementów, począwszy od określonego indeksu w tablicy. W tym procesie zostanie wyświetlona w dół wszystkich elementów powyżej usuniętych elementów. To zmniejsza górnej granicy tablicy, ale nie zwalnia pamięć.
Jeśli próbujesz usunąć więcej elementów niż są zawarte w tablicy powyżej punktu usuwania, następnie wersja debugowania biblioteki twierdzi.
Funkcja RemoveAt usuwa wskaźnika CObject z tablicy, ale nie usuwa samego obiektu.
W poniższej tabeli przedstawiono inne funkcje składowe, które są podobne do CObArray::RemoveAt.
Klasa | Funkcja Państwa |
CByteArray | void RemoveAt (int nIndex, int nCount = 1); |
CDWordArray | void RemoveAt (int nIndex, int nCount = 1); |
CPtrArray | void RemoveAt (int nIndex, int nCount = 1); |
CStringArray | void RemoveAt (int nIndex, int nCount = 1); |
CUIntArray | void RemoveAt (int nIndex, int nCount = 1); |
CWordArray | void RemoveAt (int nIndex, int nCount = 1); |
Przykład
Zobacz CObList::CObList listę CAge
klasy wykorzystywane we wszystkich przykładach kolekcji.
/ / przykład CObArray::RemoveAt
nbsp; Tablica CObArray;
CObject * pa;
Tablica.Dodaj (nowe CAge (21)); / / Element 0
Tablica.Dodaj (nowe CAge (40)); / / Element 1
Jeżeli ((pa = tablicy.GetAt (0))! = NULL)
{
Tablica.RemoveAt (0); / / Element 1 przenosi do 0.
Usuń pa; / / Delete oryginalnego elementu na 0.
}
#ifdef _DEBUG
afxDump.SetDepth (1);
afxDump << "RemoveAt przykład:" << & tablicy << "" \n";
#ENDIF
Wyniki tego programu są następujące:
RemoveAt przykład: CObArray z eleme&ntami 1
nbsp; [0] = klatki na $4606 40
Omówie&nie CObArray |nbsp; Klasa członków | Wykres hierarchii
Zobacz też CObArray::SetAt, CObArray::SetAtGrow, CObArray::InsertAt