std::pmr::polymorphic_allocator<T>::deallocate_object
From cppreference.com
< cpp | memory | polymorphic allocator
| template< class U > void deallocate_object( U* p, std::size_t n = 1 ); |
(C++20以降) | |
p が指すストレージを解放します。このストレージは、*resource() と等価と評価される std::pmr::memory_resource x から、x.allocate(n * sizeof(U), alignof(U)) を使用して確保されたものでなければなりません。通常は、allocate_object<U>(n) を呼び出すことによって行われます。
deallocate_bytes(p, n * sizeof(U), alignof(U)); と同等です。
目次 |
[編集] パラメータ
| p | - | 解放するメモリへのポインタ |
| n | - | メモリが対象としていた型 U のオブジェクト数 |
[編集] 例外
何もスローしません。
[編集] 注釈
この関数は、完全特殊化されたアロケータstd::pmr::polymorphic_allocator<>との使用のために導入されましたが、任意の特殊化で役立つ場合があります。
[編集] 関連項目
| (C++20) |
allocate_bytes から取得した生メモリを解放する(公開メンバ関数) |
| (C++20) |
オブジェクトを破棄して解放する (公開メンバ関数) |
| [static] |
アロケータを使用してストレージを解放する ( std::allocator_traits<Alloc> の public static メンバ関数) |
| メモリを解放する ( std::pmr::memory_resource の public メンバ関数) |