名稱空間
變體
操作

std::allocator_traits<Alloc>::destroy

來自 cppreference.com
 
 
記憶體管理庫
(僅作說明*)
未初始化記憶體演算法
(C++17)
(C++17)
(C++17)
受約束的未初始化
記憶體演算法
C 庫

分配器
記憶體資源
垃圾回收支援
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
(C++11)(直到 C++23)
未初始化儲存
(直到 C++20*)
(直到 C++20*)
顯式生命週期管理
 
 
定義於標頭檔案 <memory>
template< class T >
static void destroy( Alloc& a, T* p );
(C++11 起)
(C++20 起為 constexpr)

呼叫 p 所指向物件的解構函式。如果可能,透過呼叫 a.destroy(p) 來實現。如果不可能(例如 Alloc 沒有成員函式 destroy()),則直接呼叫 *p 的解構函式,即 p->~T()(C++20 前)呼叫 std::destroy_at(p)(C++20 起)

目錄

[編輯] 引數

a - 用於析構的分配器
p - - 指向要被銷燬的物件的指標

[編輯] 返回值

(無)

[編輯] 註解

因為此函式提供了自動回退到直接呼叫解構函式的功能,所以從 C++11 起,成員函式 destroy() 是可選的 Allocator 要求。

[編輯] 示例

[編輯] 參閱

(C++20 前)
在已分配的儲存中銷燬物件
(std::allocator<T> 的公開成員函式) [編輯]