不升壓,或其他任何資源生命週期類,包含一個容器將被用作一個共享的指針,但讓我來控制到底發生了共享「資源」的它的生命?我想封裝一個可以交給的對象,但不再需要的時候可以用上下文定義的方式關閉。C++ /升壓共享資源管理像shared_ptr的
例如,我可能希望創建並繞過文件句柄知道當它超出範圍,該文件將被自動關閉,但我不希望刪除的手柄。
我可以實現它自己,但寧可不進入,如果框架已經存在 - 有人已經毫無疑問做得更好。我不能使用boost::shared_ptr
,至少不能以正常形式使用,因爲資源在生命結束時不應該被刪除。
什麼版本的升壓您使用的是,你說的沒有'模板的shared_ptr(Y * P,d d);'構造? –
@SteveJessop:我沒有。我擔心我工作的客戶不允許提升。 –
'shared_ptr'的TR1版本也有它。基本上你最初聲明不能使用'boost :: shared_ptr'的原因是不正確的。這個新的原因,客戶不允許它,是更加引人注目的。如果客戶端不允許你使用任何形式的'shared_ptr'(沒有TR1,沒有Boost,沒有C++ 11),那麼你的問題的答案是「是的,有一個智能指針,想要,但你不能使用它「。 –