Страница 10 из 238
SetSize
void SetSize(int nNewSize, int nGrowBy = -1); throw(CMemoryException);
Аргументы
- nNewSize - новый размер массива (количество элементов). Должен иметь значение большее или равное 0.
- nGrowBy - минимальное количество элементов, на которое будет увеличен размер массива при необходимости.
Описание
Устанавливает размер пустого или существующего массива. Выделяет память в случае необходимости. Если новый размер массива меньше его прежнего размера, то массив усекается и вся неиспользуемая память освобождается. Для повышения производительности приложений, использующих массив, необходимо вызвать функцию
SetSize до начала работы с ним. Правильный выбор ее аргументов позволит исключить или существенно уменьшить объем операций по перераспределению памяти и копирования массива при добавлении к нему элементов. Аргумент
nGrowBy влияет только на распределение памяти при увеличении размеров массива. Его значение никак не отражается на возвращаемых значениях функций
GetSize и
GetUpperBound. Если используется значение, выбранное по умолчанию, библиотека MFC выделяет память таким образом, чтобы избежать фрагментации памяти и оптимизировать работу с массивом для большинства практических случаев.