# std::pmr::set_default_resource

From cppreference.com
< cpp‎ | memory

Defined in header `<memory_resource>` |  |
std::pmr::memory_resource * set_default_resource( std::pmr::memory_resource * r) noexcept; |  | (since C++17)

If `r` is not null, sets the default memory resource pointer to `r`; otherwise, sets the default memory resource pointer to std::pmr::new_delete_resource ().

The default memory resource pointer is used by certain facilities when an explicit memory resource is not supplied. The initial default memory resource pointer is the return value of std::pmr::new_delete_resource.

This function is thread-safe. Every call to `std::pmr::set_default_resource` synchronizes with (see std::memory_order) the subsequent `std::pmr::set_default_resource` and std::pmr::get_default_resource calls.

### Return value

Returns the previous value of the default memory resource pointer.

### See also

get_default_resource (C++17) | gets the default std::pmr::memory_resource (function)
new_delete_resource (C++17) | returns a static program-wide std::pmr::memory_resource that uses the global operator new and operator delete to allocate and deallocate memory (function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/memory/set_default_resource&oldid=105336"