是否有一種方法,首先用nullptr初始化shared_ptr,並在一段時間後指派一個指向它的類的指針?分配給shared_ptr,有沒有辦法做到這一點?
//pseudo code
std::shared_ptr<MyClass> ptr(nullptr);
//and later
ptr->assign(new MyClass);
是否有一種方法,首先用nullptr初始化shared_ptr,並在一段時間後指派一個指向它的類的指針?分配給shared_ptr,有沒有辦法做到這一點?
//pseudo code
std::shared_ptr<MyClass> ptr(nullptr);
//and later
ptr->assign(new MyClass);
std::shared_ptr<MyClass> ptr;
ptr.reset(new MyClass);
也許並不那樣有效調用復位,但是這也應該工作。創建shared_ptr的內聯臨時實例並分配它。
std::shared_ptr<MyClass> ptr;
ptr = std::shared_ptr<MyClass>(new MyClass);
看看這個:http://codepad.org/1N84El9d – John 2012-01-11 14:14:03