簡體   English   中英

shared_ptr 從原始指針構造時是否分配?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM