何时使对象自行删除?

3 c++ oop memory-management

Callback* p = new Callback;
function(p);
Run Code Online (Sandbox Code Playgroud)

如果我想删除回调对象,何时以及如何删除?

如果它被提前删除,那么回调可能会因分段错误而失败.

sho*_*osh 17

对此最好的解决方案是使用智能指针.
使用回调初始化指针并将其传递给函数.当函数或任何进程完成时,智能指针将自动删除回调.
一个很好的智能指针实现boost::shared_ptr<>