# std::pmr::set_default_resource

< cpp‎ | memory

定义于头文件 `<memory_resource>` |  |
std::pmr::memory_resource* set_default_resource(std::pmr::memory_resource* r) noexcept; |  | (C++17 起)

若 `r` 非空，则设置默认 memory_resource 指针为 `r` ；否则，设置默认 memory_resource 指针为 std::pmr::new_delete_resource() 。

默认 memory_resource 指针为某些设施在未显式提供 memory_resource 使所用。初始的默认 memory_resource 指针是 std::pmr::new_delete_resource 的返回值。

此函数是线程安全的。每个对 std::pmr::set_default_resource 的调用同步于（见 std::memory_order ） 后继的 `std::pmr::set_default_resource` 及 `std::pmr::get_default_resource` 调用。

### 返回值

返回先前默认 memory_resource 指针的值。

### 参阅

get_default_resource (C++17) | 获取缺省 std::pmr::memory_resource (函数)
new_delete_resource (C++17) | 返回一个静态的程序范围 std::pmr::memory_resource，它使用全局 operator new 与 operator delete 分配和解分配内存 (函数)