2012-01-11 98 views
4

是否有一種方法,首先用nullptr初始化shared_ptr,並在一段時間後指派一個指向它的類的指針?分配給shared_ptr,有沒有辦法做到這一點?

//pseudo code 
std::shared_ptr<MyClass> ptr(nullptr); 
//and later 
ptr->assign(new MyClass); 
+0

看看這個:http://codepad.org/1N84El9d – John 2012-01-11 14:14:03

回答

8

你是在找ptr.reset(new MyClass)

+0

它看起來像我做的;) – smallB 2012-01-11 13:40:25

2

也許並不那樣有效調用復位,但是這也應該工作。創建shared_ptr的內聯臨時實例並分配它。

std::shared_ptr<MyClass> ptr; 

ptr = std::shared_ptr<MyClass>(new MyClass); 
相關問題