Skip to content

Latest commit

 

History

History
64 lines (50 loc) · 1.64 KB

new_delete_resource.md

File metadata and controls

64 lines (50 loc) · 1.64 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

処理系

関連項目