Поделиться через


CArray::InsertAt

Первая версия InsertAt вставляет один элемент (или несколько копий элемента) на заданный индекс в массиве.

void InsertAt(
   INT_PTR nIndex,
   ARG_TYPE newElement,
   INT_PTR nCount = 1 
);
void InsertAt(
   INT_PTR nStartIndex,
   CArray* pNewArray 
);

Параметры

  • nIndex
    Индекс в виде целого числа, может быть больше значения, возвращаемого GetUpperBound.

  • ARG_TYPE
    Параметр шаблона, указывающие тип элементов в массиве.

  • newElement
    Элемент, который необходимо поместить в этом массиве.

  • nCount
    Количество раз, когда этот элемент должен быть вставлен (значение по умолчанию - 1).

  • nStartIndex
    Индекс в виде целого числа, может быть больше значения, возвращаемого GetUpperBound.

  • pNewArray
    Другой массив, содержащий элементы, которые требуется добавить в этот массив.

Заметки

В процессе его сдвигает вверх (путем увеличения индекс) существующему элементу для этого индекса, и он сдвигает вверх по всем элементам над ним.

Вторая версия вставляет все элементы из другой коллекции CArray, начиная с позиции nStartIndex.

Функция SetAt, напротив, заменяет одно определила элемент массива и не сдвигает элементов.

Пример

// example for CArray::InsertAt

CArray<CPoint,CPoint> ptArray;

ptArray.Add(CPoint(10,20));   // Element 0
ptArray.Add(CPoint(30,40));   // Element 1 (will become element 2)
ptArray.InsertAt(1, CPoint(50,60));   // New element 1      

Требования

Header: afxtempl.h

См. также

Ссылки

Класс CArray

Диаграмма иерархии

CArray::GetUpperBound

CArray::SetAt

CArray::RemoveAt