1
我有一個類在其構造函數中接收共享指針並將其存儲在弱指針中,但我不知道如何(以及在哪裏)執行此轉換。如何在接收shared_ptr的類構造函數中初始化weak_ptr?
class A {
public:
A(std::shared_ptr<B> Bptr);
private:
std::weak_ptr<B> m_Bptr;
};
我應該在傳遞給構造函數之前將shared_ptr
轉換爲否?
是否將shared_ptr
傳遞到weak_ptr
通過像這樣的初始化列表A(std::shared_ptr<B> Bptr) : m_Bptr(Bptr) { }
按預期方式工作或我需要在構造函數的主體中顯式轉換?
當構造函數運行時,是否需要保持對象存活?你爲什麼不通過引用傳遞'shared_ptr'? –
@DavidSchwartz我沒有專注於此,但沒有理由不通過引用來傳遞它。感謝您的提醒! –