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


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