atomic_compare_exchange_strong_explicit功能
执行 基本比较和交换 操作。
template <class _Ty>
inline bool atomic_compare_exchange_strong_explicit(
volatile atomic<Ty> *Atom,
Ty *Exp,
Ty Value,
memory_order Order1,
memory_order Order2
) _NOEXCEPT;
template <class Ty>
inline bool atomic_compare_exchange_strong_explicit(
atomic<Ty> *Atom,
Ty *Exp,
Ty Value,
memory_order Order1,
memory_order Order2
) _NOEXCEPT;
参数
Atom
若要存储类型 Ty的值 atomic 对象的指针。Exp
对类型 Ty的值的指针。Value
一个 Ty 类型的值。Order1
第一 memory_order 参数。Order2
接下来 memory_order 参数。 Order2 的值不能为 memory_order_release 或 memory_order_acq_rel,所以它比 Order1的值不能相同。
返回值
指示值进行比较的结果 bool 。
备注
基本比较,并替换操作 比较对象中存储指向通过值传递的 Atom 指向由 Exp的值。 如果值相等,对象存储指向由 atom 的值。Val 可以使用 read-modify-write 操作并将由 Order1指定的内存顺序约束。 如果值不相等,操作替换指向通过值的 Exp 存储在对象中指向由 Atom 并将内存顺序约束。Order2指定的值。
要求
基本标头:
命名空间: std