0

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

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

4

2 回答 2

4

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

于 2012-08-25T03:13:53.720 回答
2

您可以将删除器函数传递给共享 ptr 并在此函数中写入对象状态。

template<class Y, class D> shared_ptr(Y * p, D d);
于 2012-08-25T03:17:32.140 回答