Поделиться через


operator delete (<new>)

Функция вызвана с помощью выражения удаления для освобождения хранилища для отдельных объектов.

void operator delete( 
   void* _Ptr 
) throw( ); 
void operator delete( 
   void *,  
   void * 
) throw( ); 
void operator delete( 
   void* _Ptr, 
   const std::nothrow_t& 
) throw( );

Параметры

  • _Ptr
    Указатель, значение которого отрисовывается неправильно при удалении.

Заметки

Первая функция вызывается выражением удаления для отображения значения _Ptr недопустимым. Программа может определить функцию с данной сигнатурой функции, которая заменяет версию по умолчанию является стандартной библиотеки C++. Необходимое расширение функциональности принимать значение NULL или _Ptr, которое было возвращено более предыдущем вызове оператор new(size_t).

Реакция на событие по умолчанию для значений NULL _Ptr задачи ничего. Любое другое значение _Ptr должно быть возвращено значение перед вызовом, как описано выше. Реакция на событие по умолчанию для такого nonnull значение _Ptr исправить хранилище выбранное более предыдущим вызовом. Он не указано, какие части условия или любой из такого восстанавливаемого хранилища выбираются последующим вызовом operator new(size_t) или в любой из calloc(size_t), malloc(size_t) или realloc(void*, size_t).

Вторая функция вызывается выражением удаления размещения, соответствующий новому выражения формы новый(std::size_t). Она не выполняет никаких действий.

Третья функция вызывается выражением удаления размещения, соответствующий новому выражения формы новый(std::size_t, const std::nothrow_t&). Программа может определить функцию с данной сигнатурой функции, которая заменяет версию по умолчанию является стандартной библиотеки C++. Необходимое расширение функциональности принимать значение NULL или _Ptr, которые возвращены в предыдущем вызове operator new(size_t). Реакция на событие по умолчанию оценить удалить(_Ptr).

Пример

Пример см. в разделе оператор new, использует operator delete.

Требования

Заголовок:<new>

Пространство имен: std