std::pmr::polymorphic_allocator<T>::deallocate_object
提供: cppreference.com
<tbody>
</tbody>
template <class U> void deallocate_object( U* p, std::size_t n = 1 ); |
(C++20以上) | |
p の指す記憶域を解放します。 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::polymorphic_allocator<> で使用するために導入されましたが、任意の特殊化で便利かもしれません。
関連項目
(C++20) |
allocate_bytes から取得した生メモリを解放します (パブリックメンバ関数) |
(C++20) |
オブジェクトを破棄および解放します (パブリックメンバ関数) |
[静的] |
アロケータを使用して記憶域を解放します ( std::allocator_traits<Alloc>のパブリック静的メンバ関数)
|
| メモリを解放します ( std::pmr::memory_resourceのパブリックメンバ関数)
|