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

履歴 編集

function
<memory_resource>

std::pmr::monotonic_buffer_resource::release(C++17)

void release();

概要

管理している全てのメモリを解放する。

効果

必要に応じてthis->upstream_resource()->deallocate()を呼び出し上流メモリリソースから割り当てた全てのメモリを解放する。
deallocate()によって割り当て解除されていないメモリがあったとしても、全てのメモリが解放される。

コンストラクタから設定された初期メモリ領域の解放は行われない。 <!-- 未規定かもしれないが、どのみちできないと思われるのでしない物と判断 -->

#include <iostream>
#include <memory_resource>

int main() {

  std::pmr::monotonic_buffer_resource mr{};

  //メモリを確保
  auto* p1 = mr.allocate(sizeof(int), alignof(int));
  auto* p2 = mr.allocate(sizeof(int), alignof(int));

  //解放せずにrelease
  mr.release();
  //以降、p1,p2の領域にアクセスしてはならない
}

出力

バージョン

言語

  • C++17

処理系

関連項目

参照