首页 > 后端开发 > C++ > C 是否提供了'std::shared_ptr”的非原子等价物?

C 是否提供了'std::shared_ptr”的非原子等价物?

Mary-Kate Olsen
发布: 2024-10-27 16:28:01
原创
599 人浏览过

Does C   Provide a Non-Atomic Equivalent of `std::shared_ptr`?

std::shared_ptr 没有原子版本

问题: 是否有 std::shared_ptr 的非原子版本shared_ptr 存在于标准库之外吗?为什么 C 11 中不包含非原子版本?

答案:

1。非原子等效

std::shared_ptr 与标准库中的其他智能指针不同,它是原子的。虽然可能有第三方替代方案,但标准本身不提供非原子版本。

2.从 C 11 中排除

在 C 11 Rapperswil 会议上讨论了包含非原子 std::shared_ptr 的问题。反对将其纳入的论点包括:

  • 使用非原子版本的代码稍后在线程代码中使用的可能性,导致未检测到的问题。
  • 拥有“通用版本”的好处“shared_ptr,无论使用什么功能。
  • 原子性对性能的影响最小,通过移动构造和分配来减轻。
  • 用户实现自己的非原子引用计数智能指针的能力

经过考虑,LWG 最终拒绝了非原子 std::shared_ptr 的提议,理由是它缺乏明确的共识,而且利不大于弊。

以上是C 是否提供了'std::shared_ptr”的非原子等价物?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板