gpt4 book ai didi

c++ - 弱/共享指针,检测何时有用户剩余, boost

转载 作者:行者123 更新时间:2023-11-28 01:03:35 27 4
gpt4 key购买 nike

我想要一个指针,以便我可以判断引用计数何时为 1。本质上,指针的工作方式类似于 weak_ptr,但清理工作需要手动进行。也就是说,程序每隔一段时间就会经历一个指针循环,并检查哪些指针只剩下一个引用。有些会被清理,有些会保留一段时间(以防有人再次需要它)。

现在,我知道如何结合使用自定义清理函数和 weak_ptr 来执行此操作。我只是认为同样的事情可以用更简单的代码来完成,如果我能简单地弄清楚何时只剩下 shared_ptr 的一个用户。

我知道 shared_ptr 有一个 use_count 函数,但它在文档中有这个不祥的注释:“...不一定有效。仅用于调试和测试目的... “ 自然地,我不太热衷于使用带有此类警告的东西。反正我真的不需要计数,只是一种检测何时只剩下一个的方法。

是否有一些 boost 包装器可以实现我想要的(可以在任何库中)?或者我必须使用我已经知道的自定义清理函数与 weak_ptr 相结合的技术吗?

最佳答案

您通常无法准确确定引用文献的数量。但是您可以知道它何时正好是一个 - 使用 unique()

关于c++ - 弱/共享指针,检测何时有用户剩余, boost ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7544099/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com