atomic_fetch_add, atomic_fetch_add_explicit

来自cppreference.com
< c‎ | atomic

 
 
原子操作库
类型
原文:
Types
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
memory_order
atomic_flag
原文:
Macros
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
ATOMIC_***_LOCK_FREE
ATOMIC_FLAG_INIT
ATOMIC_VAR_INIT
kill_dependency
功能
原文:
Functions
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
atomic_flag_test_and_set
atomic_flag_clear
atomic_init
atomic_is_lock_free
atomic_store
atomic_load
atomic_exchange
atomic_compare_exchange
atomic_fetch_add
atomic_fetch_sub
atomic_fetch_or
atomic_fetch_xor
atomic_fetch_and
atomic_thread_fence
atomic_signal_fence
 
在头文件 <stdatomic.h> 中定义
C atomic_fetch_add( volatile A* obj, M arg );
(1)
C atomic_fetch_add_explicit( volatile A* obj, M arg, memory_order order );
(2)
原子取代的值指出通过obj添加arg的旧值obj的结果,并返回先前持有的值obj。该操作是读 - 修改 - 写操作。根据memory_order_seq_cst的第一个版本订单的内存访问,第二个版本的订单内存访问,根据order.
原文:
Atomically replaces the value pointed by obj with the result of addition of arg to the old value of obj, and returns the value obj held previously. The operation is read-modify-write operation. The first version orders memory accesses according to memory_order_seq_cst, the second version orders memory accesses according to order.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
这是一个通用函数定义的所有原子的对象类型。 A是一个原子对象的类型,M非原子类型对应的AA是原子的整数类型,或ptrdiff_tA是原子的指针类型.
原文:
This is a 通用函数 defined for all atomic object types. A is the type of an atomic object, M is either the non-atomic type corresponding to A if A is atomic integer type, or ptrdiff_t if A is atomic pointer type.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
对于有符号整数类型,算术定义为使用2的补码表示。有
原文:
For signed integer types, arithmetic is defined to use two’s complement representation. There
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
是未定义的结果。指针类型,其结果可能是未定义的地址,但是操作,否则有未定义的行为.
原文:
are no undefined results. For pointer types, the result may be an undefined address, but the operations otherwise have no undefined behavior.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 参数

obj -
指针的原子对象修改
原文:
pointer to the atomic object to modify
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
arg -
的值添加到原子对象中存储的值
原文:
the value to add to the value stored in the atomic object
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里
order -
内存同步进行此操作的顺序:所有的允许值
原文:
the memory synchronization ordering for this operation: all values are permitted
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 返回值

保存的值是原子对象所指向的obj.
原文:
The value held previously be the atomic object pointed to by obj.
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

[编辑] 另请参阅

原子减法
原文:
atomic subtraction
这段文字是通过 Google Translate 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击这里

(函数) [edit]
C++ documentation for atomic_fetch_add, atomic_fetch_add_explicit