假设我有一堂课.
class BigData {...};
typedef boost::shared_ptr<BigData> BigDataPtr;
Run Code Online (Sandbox Code Playgroud)
然后我做:
BigDataPtr bigDataPtr(new BigData());
Run Code Online (Sandbox Code Playgroud)
在我完成了我的对象之后,我确信没有其他用户使用该对象.
执行以下操作是否安全:
bigDataPtr->~BigDataPtr();
new (&*bigDataPtr) BigData;
Run Code Online (Sandbox Code Playgroud)
这会让我重置对象而不需要任何额外的分配吗?