std::pmr::polymorphic_allocator<T>:: deallocate_object
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
(
C++20/26*
)
|
||||
|
polymorphic_allocator::deallocate_object
(C++20)
|
||||
| Non-member functions | ||||
|
(until C++20)
|
|
template
<
class
U
>
void deallocate_object ( U * p, std:: size_t n = 1 ) ; |
(C++20以降) | |
p が指すストレージを解放します。このストレージは、 std::pmr::memory_resource x から割り当てられたものでなければならず、かつ * resource ( ) と等価であることが比較されなければなりません。この解放は、 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>
の公開静的メンバ関数)
|
|
メモリを解放する
(
std::pmr::memory_resource
の公開メンバ関数)
|