[#BloombergLP-bslma-MallocFreeAllocator-deallocate-07]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::xref:BloombergLP/bslma/MallocFreeAllocator.adoc[MallocFreeAllocator]::deallocate
:relfileprefix: ../../../
:mrdocs:

Return the memory block at the specified `address` back to this allocator&period; If `address` is 0, this function has no effect&period; The behavior is undefined unless `address` was allocated using this allocator object and has not already been deallocated&period; Note that `std&colon;&colon;free` is _not_ called when `address` is 0 (in order to avoid having to acquire a lock, and potential contention in multi&hyphen;treaded programs)&period;

== Synopses

Declared in `&lt;bslma&lowbar;mallocfreeallocator&period;h&gt;`

Return the memory block at the specified `address` back to this allocator&period; If `address` is 0, this function has no effect&period; The behavior is undefined unless `address` was allocated using this allocator object and has not already been deallocated&period; Note that `std&colon;&colon;free` is _not_ called when `address` is 0 (in order to avoid having to acquire a lock, and potential contention in multi&hyphen;treaded programs)&period;


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
virtual
void
xref:BloombergLP/bslma/MallocFreeAllocator/deallocate-0c.adoc[deallocate](void* address) override;
----

[.small]#xref:BloombergLP/bslma/MallocFreeAllocator/deallocate-0c.adoc[_» more&period;&period;&period;_]#


[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
void
xref:BloombergLP/bslma/Allocator/deallocate-077.adoc[deallocate](
    void* &lowbar;&lowbar;p,
    size&lowbar;t &lowbar;&lowbar;bytes,
    size&lowbar;t &lowbar;&lowbar;alignment = &lowbar;S&lowbar;max&lowbar;align);
----

[.small]#xref:BloombergLP/bslma/Allocator/deallocate-077.adoc[_» more&period;&period;&period;_]#


[.small]#Created with https://www.mrdocs.com[MrDocs]#
