Namespaces
Variants

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

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
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 <> で使用するために導入されましたが、あらゆる特殊化で有用である可能性があります。

関連項目

allocate_bytes から取得した生メモリを解放する
(公開メンバ関数)
オブジェクトを破棄して解放する
(公開メンバ関数)
[static]
アロケータを使用してストレージを解放する
( std::allocator_traits<Alloc> の公開静的メンバ関数)
メモリを解放する
( std::pmr::memory_resource の公開メンバ関数)