7.2.4 Свободная Память

7.2.4 Свободная Память

Операция new создает объект типа имя_типа (см. #8.7), к которому он применен. Время жизни объекта, созданного с пмощью new, не ограничено областью видимости, в которой он создан. Операция new возвращает указатель на созданный ей объект. Когда объект является массивом, возвращается указетль на его первый элемент. Например, и new int и new int[10] возвращают int*. Для объектов некоторых классов надо предотавлять инициализатор (#8.6.2). Операция new (#7.2) для полчения памяти вызывает функцию

void* operator new (long);

Параметр задает требуемое число байтов. Память будет инициализирована. Если operator new() не может найти требумое количество памяти, то она возвращает ноль.

Операция delete уничтожает объект, созданный операцией new. Ее результат является void. Операнд delete должен быть указателем, возвращенным new. Результат применения delete к указателю, который не был получен с помощью операции new. Онако уничтожение с помощью delete указателя со значением ноль безвредно.

Чтобы освободить указанную память, операция delete вызвает функцию

void operator delete (void*);

В форме

delete [ выражение ] выражение

второй параметр указывает на вектор, а первое выражение задает число элементов этого вектора. Задание числа элементов является избыточным за исключением случаев уничтожения вектров некоторых классов, см. #8.5.8.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

3.4. Свободная и несвободная модели коммерческого ПО

Из книги автора

3.4. Свободная и несвободная модели коммерческого ПО После того, как программы были признаны объектом авторского права (в том числе, исключительных имущественных прав) – в семидесятых-девяностых гг. XX в. (в разных странах) – в профессии и отрасли оформились два подхода к


Свободная орбита

Из книги автора

Свободная орбита Команда 3DFORBIT активизирует управление интерактивным просмотром объектов в трехмерном режиме, используя неограниченную орбиту, обеспечивающую движение по кругу в любом направлении без привязки к плоскости. При этом точка зрения не ограничена


Свободная орбита

Из книги автора

Свободная орбита Команда 3DFORBIT активизирует управление интерактивным просмотром объектов в трехмерном режиме, используя неограниченную орбиту, обеспечивающую движение по кругу в любом направлении без привязки к плоскости. При этом точка зрения не ограничена


Память

Из книги автора

Память HeapSize Функция HeapSize возвращает размер блока памяти, выделенного из кучи функциями HeapAlloc или HeapReAlloc , в байтах. DWORD HeapSize ( HANDLE hHeap , // дескориптор кучи DWORD dwFlags , // контрольные флаги размера кучи LPCVOID lpMem // указатель на память, чей размер возвращается ); Параметры hHeap -


Свободная поддержка SQL

Из книги автора

Свободная поддержка SQL По всем вопросам, связанным с SQL Firebird, присоединяйтесь к форуму поддержки Firebird на http://www.yahoogroups.com/community/firebird-support. Это добровольный список адресов электронной почты, где знающие и новые пользователи Firebird делятся своим опытом. Если вы предпочитаете


Свободная орбита

Из книги автора

Свободная орбита Команда 3DFORBIT активизирует управление интерактивным просмотром объектов в трехмерном режиме, используя неограниченную орбиту, обеспечивающую движение по кругу в любом направлении без привязки к плоскости. При этом точка зрения не ограничена


Оперативная память

Из книги автора

Оперативная память Оперативная память (оперативное запоминающее устройство, ОЗУ, «мозги», «оперативка») – микросхемы, используемые процессором для временного хранения данных при выполнении расчетов. В подавляющем большинстве случаев такая память представлена в виде


Свободная орбита

Из книги автора

Свободная орбита Команда 3DFORBIT активизирует управление интерактивным просмотром объектов в трехмерном режиме, используя неограниченную орбиту, обеспечивающую движение по кругу в любом направлении без привязки к плоскости. При этом точка зрения не ограничена


5.5.3 Свободная Память

Из книги автора

5.5.3 Свободная Память Рассмотрим:main() (* table* p = new table(100); table* q = new table(200); delete p; delete p; // возможно, ошибка *)Конструктор table::table() будет вызван дважды, как и деструктор table::~table(). То, что С++ не дает никаких грантий, что для объекта, созданного с помощью new, когда-либо будет вызван


7.7 Свободная Память

Из книги автора

7.7 Свободная Память Если вы пользовались классом slist, вы могли обнаружить, что ваша программа тратит на заметное время на размещение и освобождение объектов класса slink. Класс slink – это превоходный пример класса, который может значительно выиграть от того, что программист


7.2.4 Свободная Память

Из книги автора

7.2.4 Свободная Память Операция new создает объект типа имя_типа (см. #8.7), к которому он применен. Время жизни объекта, созданного с пмощью new, не ограничено областью видимости, в которой он создан. Операция new возвращает указатель на созданный ей объект. Когда объект является


8.5.8 Свободная Память

Из книги автора

8.5.8 Свободная Память Когда с помощью операции new создается классовый объект, то для получения необходимой памяти конструктор будет (неяно) использовать operator new (#7.1). Конструктор может осществить свое собственное резервирование памяти посредством присваивания указателю


Свободная сеть по Джону Макафи: как любопытство АНБ может стать фундаментом нового бизнеса Михаил Ваннах

Из книги автора

Свободная сеть по Джону Макафи: как любопытство АНБ может стать фундаментом нового бизнеса Михаил Ваннах Опубликовано 02 октября 2013 Эдвард Сноуден вряд ли получит Нобелевскую премию мира. Да и судьба разговорчивого идеалиста едва ли сложится


СОФТЕРРА: Память на лица, или Лица на память

Из книги автора

СОФТЕРРА: Память на лица, или Лица на память Автор: Алексей КлимовВышла девятая версия ACDSee. Судя по объему нововведений, это не «Девятый вал» Айвазовского [Иван Айвазовский, «Девятый вал». 1850 г] и даже не «9 рота» Бондарчука [Федор Бондарчук, «9 рота». 2005 г]. Поэтому в обзоре


4. Память

Из книги автора

4. Память Когда вы читаете эту книгу, идете по переполненной улице, слушаете симфонию, успокаиваете плачущего ребенка, ваш мозг набит пространственными и временными паттернами от всех ваших органов чувств. Мир это океан постоянно меняющихся паттернов, которые приходят,