检查 std::shared_ptr 的非原子等效项
简介
C 11 中的智能指针提供了强大的内存管理机制,其中 std::shared_ptr 是共享所有权的主要选择。然而,它的原子性质引入了在某些情况下可能是不必要或不期望的开销。本文探讨了标准库中 std::shared_ptr 的非原子等效项的缺失,并研究了此决定背后的潜在原因。
寻找非原子替代方案
与问题的前提相反,std::shared_ptr 并不是
排除的原因
尽管非原子的潜在好处原子shared_ptr,C标准委员会选择不在C 11中包含一个。该决定源于2010年Rapperswil会议上的激烈辩论。反对将其包含在内的论点包括:
结论
C 11 标准中缺少 std::shared_ptr 的非原子等效项是多方面的。虽然它损害了“按使用量付费”的原则,但它优先考虑一致性、避免错误和最小的性能开销。该决定反映了提供最佳灵活性和确保代码稳健性之间的折衷。
以上是为什么 C 标准库中没有 std::shared_ptr 的非原子等效项?的详细内容。更多信息请关注PHP中文网其他相关文章!