[#BloombergLP-bslma-NewDeleteAllocator-allocate-08] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::xref:BloombergLP/bslma/NewDeleteAllocator.adoc[NewDeleteAllocator]::allocate :relfileprefix: ../../../ :mrdocs: Return a newly allocated block of memory of (at least) the specified positive `size` (in bytes). If `size` is 0, a null pointer is returned with no other effect. The alignment of the address returned is the maximum alignment for any fundamental, pointer, or enumerated type defined for this platform. The behavior is undefined unless `0 <= size`. Note that global `operator new` is _not_ called when `size` is 0 (in order to avoid having to acquire a lock, and potential contention in multi‐threaded programs). == Synopsis Declared in `<bslma_newdeleteallocator.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- virtual void* allocate(xref:BloombergLP/bslma/Allocator/size_type.adoc[size_type] size) override; ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#