是否有人知道shared_ptr
和weak_ptr
連同懶惰的初始化夥伴一起執行?類的要求是:C++中的共享,弱和懶惰指針
一個
lazy_ptr
類,允許客戶端後構造對象(如果有的話),而不需要構造函數實現一個
weak_lazy_ptr
類,有三種可能的狀態:尚未構建(不會鎖定到shared_ptr
),構造(將鎖定到shared_ptr
)和破壞(不會鎖定到shared_ptr
)
我創建了一些類,它們在前一段時間完全沒有完成這項工作(see CVu article here),在其實現中使用了shared_ptr
和weak_ptr
。與使用,而不是與它們集成共享和弱指針的模型存在的主要問題如下:
一旦所有
lazy_ptr
對象走出去的範圍,任何弱引用不再被鎖定,即使其他客戶持有shared_ptr
版本在不同的線程對象的建設不能被控制
我會很感激任何指向其他試圖調和這些問題,或任何工作我這方面可能會有進展。
它幾乎聽起來像'shared_ptr>',是嗎? –
GManNickG
@ user1078210也許你可以在這裏找到更多的信息(http:// stackoverflow。COM /問題/ 878166/IS-有-C-懶惰指針)。 – ealves
@GMan:'boost :: optional' * does *允許延期構建,但'boost :: shared_ptr'也允許這樣做,所以如果我理解你,這兩者都不需要。 –