gpt4 book ai didi

c++ - 基本的 shared_count 变体

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:43:22 26 4
gpt4 key购买 nike

由于我在项目中需要一个特殊的引用计数机制(它并不总是暴露指针),我想在基本的引用计数之上实现我的对象处理。

libstdc++libc++ 都使用类 std::__shared_count 进行基本(类型不特定)引用计数。在查看 boost 时,他们还有一个 boost::detail::shared_count 类。

我现在将我的尝试基于 boost::detail::shared_count,但我犹豫不决,因为它已经在过去的 boost 版本中进行了更改。是否有其他基本的引用计数机制可供使用?

最佳答案

您可以将 boost::shared_ptr 与自定义删除器一起使用,如果您需要明确知道计数,您将拥有 use_count 成员函数,并且自定义当计数为 0 时,删除器会自动充当回调。

这种技术的真正优势在于它是可移植的并且可能经过了很好的测试,更不用说计数器堆分配管理和线程同步的整个困惑已经完成了。

关于c++ - 基本的 shared_count 变体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25262254/

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