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


CArray::SetSize

Задает размер пустого или существующего массива; выделяет память, если требуемый.

void SetSize(
   INT_PTR nNewSize,
   INT_PTR nGrowBy = -1 
);

Параметры

  • nNewSize
    Новый размер массива (количество элементов).Должна быть не ниже 0.

  • nGrowBy
    Минимальное число слотов элемента, который необходимо выбрать, если увеличение размера требуется.

Заметки

Если новый размер меньше, чем старый размер, то массив усечен и все освобождатьа неиспользуемую память.

Эта функция позволяет задать размер данного массива перед началом использовать массив.Если не используется SetSize, то добавление элементов в массив часто вызывают быть reallocated и скопировать его.Частое переразмещение и копирование неработоспособны и может разделить память.

Параметр nGrowBy влияет на внутреннее выделение памяти, в то время как массив.Его использование не влияет на размер массива, как отмечено GetSize и GetUpperBound.Если используется значение по умолчанию, то MFC выделяет память таким образом, что вычисляемые во избежание фрагментация памяти и оптимизировал эффективность в большинстве случаев.

Пример

См. пример для GetData.

Требования

Header: afxtempl.h

См. также

Ссылки

Класс CArray

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

CArray::GetUpperBound

CArray::GetSize

CArray::GetCount