2012-08-25 41 views
0

我正在挖掘boost的文档,寻找在boost :: shared_ptr被删除的对象之前调用的回调函数,所以我可以将对象状态写回到硬盘驱动器,并删除weak_ptr元素从std :: map。boost :: shared_ptr销毁回调

有谁知道如何处理这个问题?

回答

2

您可以在此函数中传递deleter函数以共享ptr并写入对象状态。

template<class Y, class D> shared_ptr(Y * p, D d); 
4

当共享指针被删除时,它应该调用你的对象析构函数。你可以在那里把你的对象写到磁盘上,就在它的析构函数中。