gpt4 book ai didi

c++ - 为什么 std::atomic 特化不提供乘法和除法赋值运算符?

转载 作者:可可西里 更新时间:2023-11-01 15:55:49 25 4
gpt4 key购买 nike

std::atomic 对整数类型的完整特化提供算术复合赋值运算符,例如 +=-=,但没有 *=/=。该标准规定了这一点,但据我所知,没有给出任何理由。熟悉原子操作库部分背后的原因的人能否阐明这一点?

最佳答案

我认为这与硬件有关。许多平台都有原子来处理 +=,但我不知道有任何平台提供 *=。通过锁定实现这一点很简单,但 std::atomic 的接口(interface)将在同一级别混合操作,这些操作在某种程度上是便宜的,但操作非常昂贵。

关于c++ - 为什么 std::atomic<integral> 特化不提供乘法和除法赋值运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9824951/

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