boost::shared_ptr destroy callback

boost::shared_ptr destroy callback

本文关键字:destroy callback ptr shared boost      更新时间:2023-10-16

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

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

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

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

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