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 的修改顺序中此函数效果之前的立即值。

异常

无异常 − 此成员函数从不抛出异常。

atomic.htm
广告