Динамическое выделение памяти – это получение программой памяти во время ее выполнения.
Выделение памяти в с++ - new;
Освобождение памяти в с++ - delete.
Выделение и освобождение памяти в стиле C++.
1)Одиночная переменная:
<Переменная-указатель>= new <тип переменной>;
int *p;
p=new int; // выделение памяти под целое
if (!p) // если память нельзя выделить
{
printf("Недостаточно памяти\n");
return 1;// выход из функции или организация обхода
//следующих операторов
}
*p=20;
printf("%i\n",*p);
delete p; // освобождение памяти
2)Одномерный массив
Выделение памяти. Переменная-указатель= new тип [размер]; Размер- количество элементов в массиве.
3)Освобождение памяти. delete [] переменная-указатель ;
Переменная-указатель – адрес, полученный при выделении массива.
[ ]- динамический массив удаляется, а память освобождается.
float *p;
p=new float [10]; // выделение памяти под массив из 10 элементов
for (int i=0; i<10; i++) p[i]=100+i; // заполнение масcива
for (int i=0; i<10; i++) cout << p[i] << “ “;// вывод содержимого на
//экран
delete [] p; // удаление массива и освобождение памяти.