[#BloombergLP-bslma-MallocFreeAllocator-allocate-06] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslma.adoc[bslma]::xref:BloombergLP/bslma/MallocFreeAllocator.adoc[MallocFreeAllocator]::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. If this allocator cannot return the requested number of bytes, then it will return a null pointer. The behavior is undefined unless `0 <= size`. Note that the alignment of the address returned is the maximum alignment for any type defined on this platform. Also note that `std::malloc` is _not_ called when `size` is 0 (in order to avoid having to acquire a lock, and potential contention in multi‐treaded programs). == Synopsis Declared in `<bslma_mallocfreeallocator.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]#