void RemoveAt ( int nIndex, int nCount = 1 );
Параметры
nIndex
Целочисленный индекс больше или равно 0 и меньше или равно значение, возвращенное GetUpperBound.
nCount
Число удаляемых элементов.
Примечания
Удаляет один или несколько элементов, начиная с указанного индекса в массиве. В этом процессе он смещается вниз все элементы выше удаленных элементов. Это уменьшает Верхняя граница массива, но не освобождает память.
Если вы попытаетесь удалить больше элементов, чем содержится в массиве выше точка удаления, то отладочной версии библиотеки утверждает.
Функция RemoveAt удаляет CObject указатель массива, но не удаляет сам объект.
В следующей таблице приведены другие функции-члены, которые похожи на CObArray::RemoveAt.
Класс | Функция-член |
CByteArray | аннулировать RemoveAt (int nIndex, int nCount = 1); |
CDWordArray | аннулировать RemoveAt (int nIndex, int nCount = 1); |
CPtrArray | аннулировать RemoveAt (int nIndex, int nCount = 1); |
CStringArray | аннулировать RemoveAt (int nIndex, int nCount = 1); |
CUIntArray | аннулировать RemoveAt (int nIndex, int nCount = 1); |
CWordArray | аннулировать RemoveAt (int nIndex, int nCount = 1); |
Пример
Смотрите CObList::CObList список CAge
класс, используемая во всех примерах коллекции.
/ / Пример для CObArray::RemoveAt
nbsp; CObArray массив;
CObject * ПА;
массив.Добавления (новые Кейдж (21)); / / Элемент 0
массив.Добавления (новые Кейдж (40)); / / Элемент 1
Если ((ПА = array.GetAt (0))! = NULL)
{
массив.RemoveAt (0); / / Элемент 1 перемещается в 0.
удалить ПА; / / Удалить исходный элемент в 0.
}
# ifdef _DEBUG
afxDump.SetDepth (1);
afxDump << "RemoveAt пример:" << & массив << «\n»;
# endif
Результаты этой программы заключаются в следующем:
Пример RemoveAt: CObArray с элементами, 1
[0] = Кейдж на $4606 40
Обзор CObArray | Члены класса | Иерархическая схема
См. также CObArray::SetAt, CObArray::SetAtGrow, CObArray::InsertAt