std::shared_ptr
C 標準庫包含一個std 的專用範本: : unique_ptr 在其析構函數中適當地呼叫delete[]。然而, std::shared_ptr 缺乏類似的專業化,因此需要使用自訂刪除器來正確釋放陣列。
缺乏專業化的原因
最初,省略了 std::shared_ptr
最終,缺乏 std::shared_ptr
當前狀態
儘管缺乏專門的模板,C 17 還是引入了部分數組支援對於shared_ptr,如shared_ptr::shared_ptr()方法的第三種情況中指定的。此更新允許使用shared_ptr建立和銷毀數組,儘管沒有專用專業化的便利性。
未來前景
TS(技術規範)草案 N4077概述了在shared_ptr中實現數組支援的潛在途徑,該功能最終被合併到C 17中。 C的持續發展可能會為該領域帶來進一步的增強,為使用共享指標的陣列管理提供額外的靈活性和表現力。
以上是為什麼 `std::shared_ptr` 沒有專門針對數組類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!