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