[#BloombergLP-bslma-NewDeleteAllocator-allocate-02] = 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). == Synopses Declared in `<bslma_newdeleteallocator.h>` 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). [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- virtual void* xref:BloombergLP/bslma/NewDeleteAllocator/allocate-08.adoc[allocate](xref:BloombergLP/bslma/Allocator/size_type.adoc[size_type] size) override; ---- [.small]#xref:BloombergLP/bslma/NewDeleteAllocator/allocate-08.adoc[_» more..._]# [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- [[nodiscard]] void* xref:BloombergLP/bslma/Allocator/allocate-034.adoc[allocate]( size_t __bytes, size_t __alignment = _S_max_align); ---- [.small]#xref:BloombergLP/bslma/Allocator/allocate-034.adoc[_» more..._]# [.small]#Created with https://www.mrdocs.com[MrDocs]#