Операция new, выполненная на некоторым типом, резервирует место в свободной памяти (в кучке), необходимое для хранения значения этого типа. Результатом операции является адрес выделенной памяти или 0, если выделить память не удалось. Тип результата - "указатель на базовый тип”.
Замечание. Standart C++ выбрасывает исключение в случае невозможности выделить память. Исключения будут обсуждаться позже.
Пример. Выделение памяти для вещественного числа.
float* pf;
pf = new float;
// или
float* pf = new float;
После того, как свободная память выделена, ею можно пользоваться при помощи операции разыменования.
*pf = 3.14;
float f = *pf + 1.414;
Операция new не инициализирует выделенную память, т.е. не заполняет ее никакими значениями. Если нужна инициализация, ее надо выполнять явно.
float* pf = new float(0); // заполнение нулем
Когда надобность в выделенной памяти отпадает, ее надо освободить при помощи операции delete.
delete pf;
Источник: http://www.cplus-plus.ru
Добро пожаловать в блог официального сайта www.cplus-plus.ru
Все представленные материалы в этом блоге находятся по адрусу www.cplus-plus.ru
Сайт разработан с целью удобного изучения объектно-ориентированного программирования языка C++. Сайт содержит: большое количество cред разработки, видеоуроков, исходников, учебников C++ как для начинающих, так и для продвинутых!
Сайт разработан с целью удобного изучения объектно-ориентированного программирования языка C++. Сайт содержит: большое количество cред разработки, видеоуроков, исходников, учебников C++ как для начинающих, так и для продвинутых!
Поиск по этому блогу
Каталог статей
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий