最終更新日時(UTC):
が更新

履歴 編集

function
<memory_resource>

std::pmr::new_delete_resource(C++17)

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;
}

出力例(VS2019 Preview2)

00007FFCB3306250
00007FFCB3306250

バージョン

言語

  • C++17

処理系

関連項目