0
有關的unique_ptr缺失者的類型是智能指針的一部分,但如何是幫助編譯器相比,shared_ptr的產生更小的運行時數據結構和獨特的_ptr更快的代碼?較小的運行時數據結構和更快的代碼相比,shared_ptr的
有關的unique_ptr缺失者的類型是智能指針的一部分,但如何是幫助編譯器相比,shared_ptr的產生更小的運行時數據結構和獨特的_ptr更快的代碼?較小的運行時數據結構和更快的代碼相比,shared_ptr的
的刪除器是不是正在這裏所指。
shared_ptr<>
需要分配(除其他事項外),每個分配的對象(強和弱引用計數),另外兩個號碼。
如果使用std::make_shared()
,他們會得到存儲與對象本身,否則,將需要爲它單獨分配。
此外,請記住,可以利用的空類的優化,以消除對非狀態刪除器的任何開銷。
GCC,至少是出現(至少std::default_delete
)這樣做: https://godbolt.org/g/nbENL7
也許是因爲shared_ptr的開銷已經無關,因爲線程安全的引用計數的缺失者多? –