1

我正在尝试创建一个自定义兑现机制,在其中将 a 返回weak_ptr到创建的缓存。在内部,我持有一个shared_ptr来控制对象的生命周期。

当最大缓存预设被消耗完时,disposer会寻找那些长时间没有被访问的缓存对象,并将其清理干净。

不幸的是,这可能并不理想。如果可以检查通过 可以访问多少缓存对象weak_ptr,那么这可以作为决定是否清理的标准。

事实证明,没有办法检查有多少人weak_ptr(s)可以处理该资源。

但是当我查看shared_ptr文档和实现说明时

=>weak_ptrs引用托管对象的数量

是实施的一部分。为什么这不通过 API 公开?

4

0 回答 0