8f04092b

Работа с временными буферами данных


Указатели и динамически распределяемая область памяти осо- бенно полезны в тех случаях, когда вам требуется временное выде- ление памяти, и вы не хотите удерживать ее на все время выполне- ния программы. Например, редактору файлов обычно требуется буфер данных для каждого редактируемого файла. Вместо описания на этапе компиляции, что вам необходимо определенное число буфером задан- ного размера, которые всегда распределяются для файлов, вы можете выделить их столько, сколько необходимо в каждый конкретный мо- мент, что делает память доступной для других целей.

Другим общим примером использования временной памяти являет- ся сортировка. Обычно когда вы сортируете большой объем данных, то делаете копию массива, сортируете копию, а затем записываете отсортированные данные обратно в исходный массив. Это сохраняет целостность ваших данных, но требует также наличия во время сор- тировки двух копий данных. Если вы хотите распределить сортируе- мый массив в динамически распределяемой памяти, то можете отсор- тировать его и скопировать обратно в оригинал, а затем уничтожить сортируемый массив, освободив память для других нужд.



Содержание раздела