When to make a object delete itself？
    Callback* p = new Callback;
    func(p);

If I want to delete the callback object, when and how to delete that?

If it gets deleted early, then the callback may be failed.
When to make a object delete itself？
===

    Callback* p = new Callback;
    func(p);

If I want to delete the callback object, when and how to delete that?

If it gets deleted early, then the callback may be failed.