operator delete[]
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

operator delete[]

The function called by a delete expression to deallocate storage for an array of objects.

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

Parameter

_Ptr
The pointer whose value is to be rendered invalid by the deletion.

Remarks

The first function is called by an delete[] expression to render the value of _Ptr invalid. The function is replaceable because the program can define a function with this function signature that replaces the default version defined by the Standard C++ Library. The required behavior is to accept a value of _Ptr that is null or that was returned by an earlier call to operator new[](size_t). The default behavior for a null value of _Ptr is to do nothing. Any other value of _Ptr must be a value returned earlier by a call as previously described. The default behavior for such a nonnull value of _Ptr is to reclaim storage allocated by the earlier call. It is unspecified under what conditions part or all of such reclaimed storage is allocated by a subsequent call to operator new(size_t), or to any of calloc(size_t), malloc(size_t), or realloc(void*, size_t).

The second function is called by a placement delete[] expression corresponding to a new[] expression of the form new[](std::size_t). It does nothing.

The third function is called by a placement delete expression corresponding to a new[] expression of the form new[](std::size_t, const std::nothrow_t&). The program can define a function with this function signature that replaces the default version defined by the Standard C++ Library. The required behavior is to accept a value of _Ptr that is null or that was returned by an earlier call to operator new[](size_t). The default behavior is to evaluate delete[](_Ptr).

Example

See operator new for examples of the use of operator delete[].

See Also

<new> Members

Show:
© 2016 Microsoft