# 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); |  | (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.

### Exceptions

`noexcept` specification:
noexcept

### 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 "http://en.cppreference.com/mwiki/index.php?title=cpp/memory/set_default_resource&oldid=91652"
Category:

- unconditionally noexcept

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template