[英]Does shared_ptr allocate when constructed from raw pointer?
據我了解 shared_ptr 它包含一個指向控制塊的指針,該控制塊包含原始指針強計數和弱計數。
我處於需要無鎖分配的情況,因此我可以從分配的池中分配一個原始指針 memory 然后使用自定義刪除器創建一個唯一指針以將其放回池中,到目前為止一切都很好。
但是,在 shared_ptr 的情況下,如果我使用這些原始指針和自定義分配器之一構造一個共享指針,它是否會在此時分配控制塊?
如果確實如此,有沒有辦法以無鎖方式為控制塊提供 memory?
但是,在 shared_ptr 的情況下,如果我使用這些原始指針和自定義分配器之一構造一個共享指針,它是否會在此時分配控制塊?
是的。
如果確實如此,有沒有辦法以無鎖方式為控制塊提供 memory?
shared_ptr
的構造函數具有接受自定義分配器的重載。
請參閱 一些shared_ptr
文檔。
(我不完全清楚刪除器是否也會由您的自定義分配器分配。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.