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

ОГЛАВЛЕНИЕ


SetSize

void SetSize(int nNewSize, int nGrowBy = -1); throw(CMemoryException);

Аргументы

  • nNewSize - новый размер массива (количество элементов). Должен иметь значение большее или равное 0.
  • nGrowBy - минимальное количество элементов, на которое будет увеличен размер массива при необходимости.

Описание

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