void do_deallocate(void* p, std::size_t bytes, std::size_t alignment) override;
概要
do_allocate
によって割り当てたメモリ領域を解放(割り当て解除)する。
要件等はmemory_resource::do_deallocate()
に従う。
要件
p
の指すサイズbytes
のメモリ領域は、this->do_allocate(bytes, alignment)
によって事前に確保された領域であること。
かつ、そのメモリ領域は未解放であること。
引数
p
-- 解放する領域へのポインタbytes
--p
の領域のサイズalignment
--p
割り当て時のアライメント要求
効果
指定されたメモリ領域を内部プールへ返却する。
ただし、this->upstream_resource()->deallocate()
が呼ばれるかどうか、またはどのような状況でthis->upstream_resource()->deallocate()
が呼ばれるかは未規定。
例外
投げない。
バージョン
言語
- C++17
処理系
- Clang: ??
- GCC: 9.1 ✅
- Visual C++: 2017 update 6 ✅