Dynamic memory management
Uninitialized storage
Garbage collection support
C Library
Low level memory management
void deallocate_bytes( void* p,

                       std::size_t nbytes,

                       std::size_t alignment = alignof(std::max_align_t) );
(since C++20)

Deallocates the storage pointed to by p, which must have been allocated from a std::pmr::memory_resource x that compares equal to *resource(). using x.allocate(nbytes, alignment), typically through a call to allocate_bytes(nbytes, alignment.

Equivalent to resorce()->deallocate(p, nbytes, alignment);


p - pointer to memory to deallocate
nbytes - the number of bytes originally allocated
alignment - the alignment originally allocated


Throws nothing.


This function was introduced for use with the fully-specialized allocator std::polymorphic_allocator<>, but it may be useful in any specialization.

See also

Frees raw memory obtained by allocate_object
(public member function)
Destroys and deallocates an object
(public member function)
deallocates storage using the allocator
(public static member function of std::allocator_traits<Alloc>)
deallocates memory
(public member function of std::pmr::memory_resource)