C ++原子增量内存排序

时间:2012-11-20 21:45:55

标签: c++ c++11 atomic

在C ++ 11中: 如果我增加一个原子变量(std :: atomic上的operator ++),新值是否与内存屏障一起存储?或者我必须明确地做商店吗?

1 个答案:

答案 0 :(得分:9)

您不需要做明确的商店。将使用顺序一致性内存排序。

指定operator++(int) operator++() atomic<类型的

integral>具有fetch_add(1)的效果,最终使用默认的内存排序memory_order_seq_cst调用成员函数。

关于规范环顾对原子类型的操作的要求 [atomics.types.operations.req] 29.6.5 / 33