До сих пор для данных, которые
использовались, память выделялась при объявлении переменных. Такой способ
выделения памяти называется статическим.
Однако иногда размер данных становится
известным только во время выполнения программы. Например, если в процессе
какого-либо измерения выполняется сохранение данных через определенные
промежутки времени, объем этих данных зависит от времени, прошедшего с начала
измерения. В таком случае рациональнее распределять память компьютера во время
измерения. Процедура выделения памяти во время выполнения программы называется динамическим
распределением (выделением) памяти.
В C++ существует два способа
динамического выделения памяти. Один из них, унаследованный от С, использует
стандартные библиотечные функции malloc и free.
Другой – операторы new
и delete, которые
отсутствуют в С. Для обоих способов необходимо применение переменных типа
указатель. Как правило, конкретные адреса, содержащиеся в этих переменных,
не используются.
|