Skip to content

Latest commit

 

History

History
64 lines (50 loc) · 1.69 KB

File metadata and controls

64 lines (50 loc) · 1.69 KB

new_delete_resource

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

概要

グローバルなoperator new及びoperator deleteを利用してメモリを確保・解放するmemory_resourceを取得する。

戻り値

静的記憶域期間に配置されているmemory_resource実装のオブジェクトへのポインタを返す。

呼び出し時は常に同じポインタを返す。

例外

投げない。

備考

この関数で取得したポインタをp、その他任意のmemory_resourceオブジェクトをrとすると、p->is_equal(r)は&r == pを返す。

実装クラスの型名は未規定。

例

#include <iostream>
#include <memory_resource>

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

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

出力例(VS2019 Preview2)

00007FFCB3306250
00007FFCB3306250

バージョン

言語

  • C++17

処理系

  • Clang: 16.0.6 [mark verified]
  • GCC: 9.1 [mark verified]
  • Visual C++: 2017 update 6 [mark verified]

関連項目