ВУЗ:
Составители:
Рубрика:
42
int *ip=new (int);
int i=0;
ip=&i;
ip
int
i
Теперь динамический объект по-прежнему будет существовать,
но обратится к нему уже нельзя. Такие объекты называются мусором.
При выделении памяти объект можно инициализировать:
int *ip = new int(3);
Можно динамически распределить память и под массив:
double *mas = new double [50];
mas . . . . .
Теперь с этой динамически выделенной памятью можно работать
как с обычным массивом:
*(mas+5) = 3.27;
mas[6] = mas[5] + sin(mas[5]);
В случае успешного завершения операция new возвращает указа-
тель со значением, отличным от нуля.
Результат операции, равный 0, т.е. нулевому указателю NULL, го-
ворит о том, что не найден непрерывный свободный фрагмент памяти
нужного размера.
7.2. Операция освобождения памяти delete
Операция delete освобождает для дальнейшего использования в
программе участок памяти, ранее выделенной операцией new:
delete ip; // Удаляет динамический объект типа int,
// если было ip = new int;
delete mas; // удаляет динамический массив длиной 50, если было
// double *mas = new double[50];
Страницы
- « первая
- ‹ предыдущая
- …
- 38
- 39
- 40
- 41
- 42
- …
- следующая ›
- последняя »