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


Класс CArray

Поддерживает массивы, как массивы c#, но может динамически уменьшить и увеличиваться по мере необходимости.

template < class TYPE, class ARG_TYPE = const TYPE& > 
class CArray : 
   public CObject

Параметры

  • TYPE
    Параметр шаблона, указывающее тип объектов, содержащихся в массиве.TYPE параметр, который возвращается CArray.

  • ARG*_*TYPE
    Параметр шаблона, указывающее тип аргумента, который используется для доступа к объектам, хранящиеся в массиве.Часто ссылка на TYPE.ARG_TYPE параметр, который передается CArray.

Члены

4h2f09ct.collapse_all(ru-ru,VS.110).gifОткрытые конструкторы

Имя

Описание

CArray::CArray

Создает пустой массив.

4h2f09ct.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

CArray::Add

Добавляет элемент в конец массива; растет массив, если требуемый.

CArray::Append

Добавляет другой массив в массив. растет массив, если обязательный

CArray::Copy

Копирует другой массив в массив. растет массив, если требуемый.

CArray::ElementAt

Возвращает временной ссылку на указатель элемента в массиве.

CArray::FreeExtra

Высвобождает всю неиспользуемую память над текущим границей.

CArray::GetAt

Возвращает значение по заданному индексу.

CArray::GetCount

Получает число элементов в данном массиве.

CArray::GetData

Разрешает доступ к элементам массива.Может быть NULL.

CArray::GetSize

Получает число элементов в данном массиве.

CArray::GetUpperBound

Возвращает максимальный допустимый индекс.

CArray::InsertAt

Вставляет элемент (или все элементы в других массив) по указанному индексу.

CArray::IsEmpty

Определяет, является ли массив пуст.

CArray::RemoveAll

Удаляет все элементы из этого массива.

CArray::RemoveAt

Удаляет элемент по указанному индексу.

CArray::SetAt

Задает значение для данного индекса; массив не разрешенный увеличиваться.

CArray::SetAtGrow

Задает значение для данного индекса; растет массив, если требуемый.

CArray::SetSize

Задает количество элементов, которое должно содержаться в этом массиве.

4h2f09ct.collapse_all(ru-ru,VS.110).gifОткрытые операторы

Имя

Описание

CArray::operator []

Получает или задает элемент по указанному индексу.

Заметки

Индекс массива, начиная всегда в позиции 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 см. в статье коллекции.

Иерархия наследования

CObject

CArray

Требования

Header: afxtempl.h

См. также

Ссылки

Класс CObject

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

Класс CObArray

Основные понятия

Образец MFC СОБИРАЕТ

Другие ресурсы

Вспомогательные объекты класса коллекции