名前空間
変種
操作

std::allocator_traits::destroy

提供: cppreference.com
 
 
動的メモリ管理
スマートポインタ
(C++11)
(C++11)
(C++11)
(C++17未満)
(C++11)
アロケータ
メモリリソース
未初期化記憶域
(C++17)
ガベージコレクションサポート
その他
(C++20)
(C++11)
(C++11)
C のライブラリ
低水準のメモリ管理
 
 
ヘッダ <memory> で定義
template< class T >
static void destroy( Alloc& a, T* p );
(C++11以上)

p の指すオブジェクトのデストラクタを呼びます。 可能であれば、 a.destroy(p) を呼ぶことによってそれを行います。 可能でなければ (a がメンバ関数 destroy() を持たないなど)、 p->~T() のように *p のデストラクタを直接呼びます。

目次

[編集] 引数

a - 破棄のために使用するアロケータ
p - 破棄されるオブジェクトを指すポインタ

[編集] 戻り値

(なし)

[編集] ノート

この関数はデストラクタの直接呼び出しへの自動フォールバックを提供するため、 C++11 以降、メンバ関数 destroy() はオプショナルな Allocator 要件です。

[編集] 関連項目

(C++17で非推奨)(C++20で削除)
確保された記憶域のオブジェクトを破棄します
(std::allocatorのパブリックメンバ関数) [edit]