Класс CArray
Поддерживает массивы, как массивы c#, но может динамически уменьшить и увеличиваться по мере необходимости.
template < class TYPE, class ARG_TYPE = const TYPE& >
class CArray :
public CObject
Параметры
TYPE
Параметр шаблона, указывающее тип объектов, содержащихся в массиве. TYPE параметр, который возвращается CArray.ARG _ TYPE
Параметр шаблона, указывающее тип аргумента, который используется для доступа к объектам, хранящиеся в массиве. Часто ссылка на TYPE. ARG_TYPE параметр, который передается CArray.
Члены
Открытые конструкторы
Имя |
Описание |
---|---|
Создает пустой массив. |
Открытые методы
Имя |
Описание |
---|---|
Добавляет элемент в конец массива; растет массив, если требуемый. |
|
Добавляет другой массив в массив. растет массив, если обязательный |
|
Копирует другой массив в массив. растет массив, если требуемый. |
|
Возвращает временной ссылку на указатель элемента в массиве. |
|
Высвобождает всю неиспользуемую память над текущим границей. |
|
Возвращает значение по заданному индексу. |
|
Получает число элементов в данном массиве. |
|
Разрешает доступ к элементам массива. Может быть NULL. |
|
Получает число элементов в данном массиве. |
|
Возвращает максимальный допустимый индекс. |
|
Вставляет элемент (или все элементы в других массив) по указанному индексу. |
|
Определяет, является ли массив пуст. |
|
Удаляет все элементы из этого массива. |
|
Удаляет элемент по указанному индексу. |
|
Задает значение для данного индекса; массив не разрешенный увеличиваться. |
|
Задает значение для данного индекса; растет массив, если требуемый. |
|
Задает количество элементов, которое должно содержаться в этом массиве. |
Открытые операторы
Имя |
Описание |
---|---|
Получает или задает элемент по указанному индексу. |
Заметки
Индекс массива, начиная всегда в позиции 0. Можно выбрать, следует ли разрешить исправить границы или массив, чтобы развернуть при добавлении элементов за границами текущего. Память выделена сопредельн на границе, даже если некоторые элементы равны null.
Примечание
Большинство методов, которые изменяют размер объекта CArray или добавляют элементы к нему использование memcpy_s к элементам перемещения.Это проблемы, так как memcpy_s не совместим с любыми объектами, которые требуют вызова конструктора.Если элементы в CArray не совместимы с memcpy_s, необходимо создать новое CArray нужного размера.После этого следует использовать CArray::Copy и CArray::SetAt для заполнения новый массив, так как эти методы используют оператор присваивания вместо memcpy_s.
Как и в случае с массивом c время выборки для элемента индексированного CArray постоянным и не зависит от размера массива.
Совет
Перед использованием массива, используйте SetSize чтобы установить его размер и выделить память для него.Если не используется SetSize, то добавление элементов в массив часто вызывают быть reallocated и скопировать его.Частое переразмещение и копирование неработоспособны и может разделить память.
Если требуется дамп отдельных элементов в массиве необходимо установить глубину объекта CDumpContext значение 1 или больше.
Некоторые функции-члены этого класса вызывают глобальные вспомогательные функции, необходимые для настройки для большинства польз класса CArray. См. раздел Вспомогательные объекты класса коллекции в разделе "Макросы MFC и глобальные переменные".
Источник класса массива как вывод списка.
Дополнительные сведения об использовании CArray см. в статье коллекции.
Иерархия наследования
CArray
Требования
Header: afxtempl.h