boost :: shared_ptr销毁回调

时间:2012-08-25 03:12:23

标签: c++ boost shared-ptr

我正在挖掘boost的文档,寻找在boost :: shared_ptr中删除对象之前调用的回调,因此我可以将对象状态写回硬盘,并从std :: map中删除weak_ptr元素。

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:2)

您可以将已删除的函数传递给shared_ptr并在此函数中写入对象状态。

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