Skip to content

Latest commit

 

History

History
62 lines (48 loc) · 1.74 KB

get_default_resource.md

File metadata and controls

62 lines (48 loc) · 1.74 KB

get_default_resource

  • memory_resource[meta header]
  • std::pmr[meta namespace]
  • function[meta id-type]
  • cpp17[meta cpp]
namespace std::pmr {
  memory_resource* get_default_resource() noexcept;
}

概要

標準コンテナ等で、polymorphic_allocatorを使用するがmemory_resourceが指定されない場合に利用されるデフォルトのmemory_resourceのポインタを取得する。

スレッドセーフ

この関数はスレッドセーフである。

set_default_resource()の呼び出しと、後続のset_default_resource()もしくはこの関数の呼び出しは同期的に実行される。
すなわち、この関数とset_default_resource()の呼び出しはデータ競合を起こさない。

戻り値

現在設定されているデフォルトのmemory_resourceのポインタ。

set_default_resourceによって何も設定されていない場合、new_delete_resource()を返す。

例外

投げない。

#include <iostream>
#include <memory_resource>

int main()
{
  auto* mr = std::pmr::get_default_resource();
  std::pmr::polymorphic_allocator<int> alloc(mr);

  std::cout << std::boolalpha;
  std::cout << (mr == std::pmr::new_delete_resource()) << std::endl;
}
  • get_default_resource[color ff0000]
  • new_delete_resource[link new_delete_resource.md]

出力

true

バージョン

言語

  • C++17

処理系

関連項目