Visual C++. Описание стандартных классов - CArray

ОГЛАВЛЕНИЕ


CArray

template< class TYPE, class ARG_TYPE > class CArray : public CObject

Аргументы

  • TYPE - параметр шаблона, определяющий тип объектов, хранящихся в массиве. Объекты данного типа возвращаются функциями-членами класса CArray
  • ARG_TYPE - параметр шаблона, определяющий тип, используемый для доступа к объектам, хранящиеся в массиве. Часто он представляет собой ссылку на значение параметра TYPE. Объекты данного типа используются в качестве аргументов функций-членов класса CArray.

Описание

Класс CArray служит для хранения информации в массивах, аналогичных массивам языка C, но допускает динамическое изменение их размера. Индекс первого элемента массива всегда равен 0. Пользователь может зафиксировать верхнюю границу массива или позволить ему расти при добавлении новых элементов, если их индекс превышает его верхнюю границу. Для данного массива всегда выделяется единая область памяти, даже в том случае, когда отдельные его элементы не используются. Как и в случае массивов языка C, время доступа к любому элементу массива CArray постоянно и не зависит от размера массива. Прежде чем использовать массив, необходимо вызвать функцию SetSize для установки его размера и резервирования необходимой памяти. Если при создании массива не использовалась функция SetSize, то при добавлении в него элементов часто будет производиться перераспределение памяти и копирование массива, что может привести к замедлению работы программы и к фрагментации памяти. При необходимости вывести диагностическую информацию об отдельном элементе массива, необходимо указать глубину объекта CDumpContext равной 1 или большей величине. Описание данного класса содержится в файле заголовка afxtempl.h.