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