Язык программирования C++

         

Динамическое выделение памяти


Третий способ выделения памяти в языке Си++ – динамический. Память для величины какого-либо типа можно выделить, выполнив операцию   new. В качестве операнда выступает название типа, а результатом является адрес выделенной памяти.

long* lp; // создать новое целое число lp = new long; Complex* cp; // создать новый объект типа Complex cp = new Complex;

Созданный таким образом объект существует до тех пор, пока память не будет явно освобождена с помощью операции   delete. В качестве операнда delete должен быть задан адрес, возвращенный операцией new:

delete lp; delete cp;

Динамическое распределение памяти используется, прежде всего, тогда, когда заранее неизвестно, сколько объектов понадобится в программе и понадобятся ли они вообще. С помощью динамического распределения памяти можно гибко управлять временем жизни объектов, например выделить память не в самом начале программы (как для глобальных переменных), но, тем не менее, сохранять нужные данные в этой памяти до конца программы.

Если необходимо динамически создать массив, то нужно использовать немного другую форму new:

new int[100];

В отличие от определения переменной типа массив, размер массива в операции new может быть произвольным, в том числе вычисляемым в ходе выполнения программы. (Напомним, что при объявлении переменной типа массив размер массива должен быть константой.)

Освобождение памяти, выделенной под массив, должно быть выполнено с помощью следующей операции delete

delete [] address;

on_load_lecture()

Дальше

Если Вы заметили ошибку - сообщите нам.


Страницы:

/p>

|

/p>

|

/p>

|

вопросы |

|

учебники

|

для печати и PDA

Курсы | Учебные программы | Учебники | Новости | Форум | Помощь



Телефон: +7 (495) 253-9312, 253-9313, факс: +7 (495) 253-9310, email: info@intuit.ru

2003-2007, INTUIT.ru::Интернет-Университет Информационных Технологий - дистанционное образование



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