Нельзя удалять указатель на константу.
Операция delete вызывает деструктор (если он есть $$12.4)
для объекта, на который настроен ее операнд.
Для освобождения памяти, отведенной под указываемый объект,
операция delete вызывает функцию operator delete ($$R.12.5).
Для объектов, не имеющих тип класс (в том числе и для массивов
классов), используется глобальная функция ::operator delete().
Для объекта типа класс T вызывается функция T::operator delete(),
если она есть (используя обычные правила просмотра при поиске
членов класса и производных от него классов, $$R.10.1.1), в
противном случае вызывается глобальная функция ::operator delete().
Обращение ::delete гарантирует, что будет вызываться глобальная
функция ::operator delete(), даже если существует T::operator delete().
Для удаления массивов используется обращение вида
delete [ ] выражение-приведения
Здесь выражение должно указывать на массив. Если есть деструкторы,
они будут вызываться для удаления указанных объектов.
Результат удаления массива с помощью простого обращения delete
неопределен, так же как и удаление одиночного объекта с помощью
delete [].
Предыдущая страница 55 Следующая страница
Warning: file_get_contents(../niz.php?uri=/a/55.htm) [function.file-get-contents]: failed to open stream: No such file or directory in /home/aptemne/public_html/cpp/a/55.htm on line 52
|