std::allocator_traits<Alloc>::destroy
提供: cppreference.com
< cpp | memory | allocator traits
ヘッダ <memory> で定義 | ||
template<class T > staticvoid 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<T> のパブリックメンバ関数) |