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 resource()->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::pmr::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)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.