名前空間
変種
操作

std::pmr::polymorphic_allocator<T>::deallocate_object

提供: cppreference.com
 
 
動的メモリ管理
スマートポインタ
(C++11)
(C++11)
(C++11)
(C++17未満)
(C++11)
アロケータ
メモリリソース
未初期化記憶域
ガベージコレクションサポート
その他
(C++20)
(C++11)
(C++11)
C のライブラリ
低水準のメモリ管理
 
 
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<> で使用するために導入されましたが、任意の特殊化で便利かもしれません。

[編集] 関連項目

allocate_bytes から取得した生メモリを解放します
(パブリックメンバ関数) [edit]
オブジェクトを破棄および解放します
(パブリックメンバ関数) [edit]
[静的]
アロケータを使用して記憶域を解放します
(std::allocator_traits<Alloc>のパブリック静的メンバ関数) [edit]
メモリを解放します
(std::pmr::memory_resourceのパブリックメンバ関数) [edit]