[#BloombergLP-bslma-Allocator-deallocate-078]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::xref:BloombergLP/bslma/Allocator.adoc[Allocator]::deallocate
:relfileprefix: ../../../
:mrdocs:

Return the memory block at `address` to this allocator&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
virtual
void
deallocate(void* address) = 0;
----

== Description

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 this virtual function hides a three&hyphen;parameter, non&hyphen;virtual `deallocate` method inherited from `bsl&colon;&colon;memory&lowbar;resource`&semi; to access the inherited function, upcast the object to `bsl&colon;&colon;memory&lowbar;resource&amp;` before calling the base&hyphen;class function&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *address*
| address of the block to deallocate
|===


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