最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<memory_resource>

# std::pmr::memory_resource::do_deallocate(C++17)

    virtual void do_deallocate(void* p, std::size_t bytes, std::size_t alignment) = 0;

## 概要

`do_allocate`によって確保されたメモリを解放する。

## 要件

`p`の指すサイズ`bytes`のメモリ領域は、`*this`もしくは等しい`memory_resource`オブジェクト（`this->is_equal(other) == true`となるような`other`）の`allocate(bytes, alignment)`によって事前に確保された領域であること。
かつ、そのメモリ領域は未解放であること。

## 引数

- `p` -- 解放する領域へのポインタ
- `bytes` -- `p`の確保時の要求サイズ
- `alignment` -- `p`の確保時アライメント要求

## 効果

指定されたメモリ領域を解放する。

## 例外

投げない

## バージョン

### 言語

- C++17

### 処理系

- Clang: ??
- GCC: 9.1 ✅
- Visual C++: 2017 update 6 ✅

## 関連項目

- `do_allocate`
- `deallocate`