C++ 原子库 - 获取异或


描述

它将原子对象替换为与非原子参数进行逻辑异或的结果,并获取原子的先前值。

宣言

以下是 std::atomic_fetch_xor 的声明。

template< class Integral >
Integral atomic_fetch_xor( volatile std::atomic<Integral>* obj, Integral arg );

C++11

template< class Integral >
Integral atomic_fetch_xor( std::atomic<Integral>* obj, Integral arg );

以下是 std::atomic_fetch_xor_explicit 的声明。

template< class Integral >
Integral atomic_fetch_xor_explicit( std::atomic<Integral>* obj, Integral arg, 
                                    std::memory_order order );

C++11

template< class Integral >
Integral atomic_fetch_xor_explicit( volatile std::atomic<Integral>* obj, Integral arg, 
                                    std::memory_order order );

参数

  • obj - 用于指向要修改的原子对象的指针。

  • desr - 用于将值存储在原子对象中。

  • order - 用于同步此操作的内存排序。

返回值

它按照 *obj 的修改顺序返回紧邻该函数效果之前的值。

例外情况

No-noexcept - 该成员函数从不抛出异常。

原子.htm