Returns: A pointer to a static-duration object of a type derived from memory_resource
that can serve as a resource for allocating memory
using ::operatornew and ::operatordelete.
The same value is returned every time this function is called.
For a return value p and a memory resource r,
p->is_equal(r) returns &r == p.
Returns: A pointer to a static-duration object of a type derived from memory_resource
for which allocate() always throws bad_alloc and
for which deallocate() has no effect.
The same value is returned every time this function is called.
For a return value p and a memory resource r,
p->is_equal(r) returns &r == p.
The default memory resource pointer is a pointer to a memory resource
that is used by certain facilities when an explicit memory resource
is not supplied through the interface.
Its initial value is the return value of new_delete_resource().
Effects: If r is non-null,
sets the value of the default memory resource pointer to r,
otherwise sets the default memory resource pointer to new_delete_resource().
Remarks: Calling the set_default_resource and
get_default_resource functions shall not incur a data race.
A call to the set_default_resource function
shall synchronize with subsequent calls to
the set_default_resource and get_default_resource functions.