[#BloombergLP-ball-CountingAllocator-deallocate-02]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::xref:BloombergLP/ball/CountingAllocator.adoc[CountingAllocator]::deallocate
:relfileprefix: ../../../
:mrdocs:

Return the memory at the specified `address` back to this allocator and update the byte count maintained by this counting allocator appropriately&period; If `address` is 0, this function has no effect&period; The behavior is undefined unless `address` was allocated using this allocator and has not already been deallocated&period;

== Synopses

Declared in `&lt;ball&lowbar;countingallocator&period;h&gt;`

Return the memory at the specified `address` back to this allocator and update the byte count maintained by this counting allocator appropriately&period; If `address` is 0, this function has no effect&period; The behavior is undefined unless `address` was allocated using this allocator and has not already been deallocated&period;


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

[.small]#xref:BloombergLP/ball/CountingAllocator/deallocate-09.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]#
