©
This document usesPHP Chinese website manualRelease
在头文件 |
|
|
---|---|---|
C atomic_fetch_xor(volatile A * obj,M arg); |
(1) |
(自C11以来) |
C atomic_fetch_xor_explicit(volatile A * obj,M arg,memory_order order); |
(2) |
(自C11以来) |
将obj
原来的值替换为旧值与obj
和之间的按位XOR结果arg
,并返回obj
先前保存的值。操作是读取 - 修改 - 写入操作。第一个版本根据命令对内存进行访问memory_order_seq_cst
,第二个版本根据内存访问内存访问order
。
这是为所有原子对象类型定义的通用函数A
。该参数是指向易失性原子类型的指针,以接受非易失性和易失性(例如内存映射I/O)原子变量的地址。M
或者是对应于非原子类型A
,如果A
是原子整数类型,或者ptrdiff_t
如果A
是原子指针类型。
obj |
- |
指向要修改的原子对象的指针 |
---|---|---|
arg |
- |
与存储在原子对象中的值按位异或的值 |
oder |
- |
此操作的内存同步排序:所有值都是允许的 |
之前保存的值是指向的原子对象obj
。
C11标准(ISO/IEC 9899:2011):
7.17.7.5 atomic_fetch和修改泛型函数(p: 284-285)
atomic_fetch_andatomic_fetch_and_explicit(C11) |
原子逻辑AND(函数) |
---|---|
atomic_fetch_xoratomic_fetch_xor_explicit(C11) |
原子逻辑异或(函数) |
| 用于atomic_fetch_xor,atomic_fetch_xor_explicit的C ++文档 |