【发布时间】:2021-03-06 07:39:45
【问题描述】:
在 c++ 中使用原子类型时
为什么 std::atomic
从cppreference 网站我可以得到一些提示。
与大多数赋值运算符不同,原子类型的赋值运算符不返回对其左侧参数的引用。它们会返回存储值的副本。
我可以猜到,如果我使用引用,它就会有原子事物的问题。 但我并不完全清楚。
你有异步错误案例的例子吗?
如果我返回一个值而不是一个引用,为什么异步错误消失了?
【问题讨论】:
-
它返回一个
T,而不是atomic<T>。如果它返回对非原子类型的引用,那么这一切都没有意义。
标签: c++ concurrency atomic