atomic_fetch_add, atomic_fetch_add_explicit
Материал из cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Заголовочный файл <stdatomic.h>
|
||
| C atomic_fetch_add( volatile A* obj, M arg ); |
(1) | (начиная с C11) |
| C atomic_fetch_add_explicit( volatile A* obj, M arg, memory_order order ); |
(2) | (начиная с C11) |
Атомарно заменяет значение указано на
obj в результате сложения arg к старому значению obj, и возвращает значение obj состоялось ранее. Операция чтения-модификации-записи. Первая версия заказы доступ к памяти по memory_order_seq_cst, вторая версия заказы доступ к памяти по order.Original:
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.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Это общие функции определены для всех типов атомного объекта.
A это тип атомного объекта, M либо неатомической типа, соответствующие A если A является атомная целого типа, или ptrdiff_t если A является атомарный тип указателя.Original:
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.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Для целого числа типов, арифметические определяется использовать дополнения до двух представительства. Там же
Original:
For signed integer types, arithmetic is defined to use two’s complement representation. There
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
не к неопределенному результату. Для типов указателей, результат может быть неопределенным адресом, но операциях в противном случае не имеют неопределенное поведение.
Original:
are no undefined results. For pointer types, the result may be an undefined address, but the operations otherwise have no undefined behavior.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[править] Параметры
| obj | - | Указатель на атомном объекте изменить
Original: pointer to the atomic object to modify The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| arg | - | значение, добавляемое к значению, хранящемуся в атомном объекте
Original: the value to add to the value stored in the atomic object The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
| order | - | памяти, синхронизация заказов для этой операции: все допустимые значения
Original: the memory synchronization ordering for this operation: all values are permitted The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[править] Возвращаемое значение
Значение имевшие будет атомный объект, на который указывает
obj.Original:
The value held previously be the atomic object pointed to by
obj.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[править] См. также
| атомная вычитание Original: atomic subtraction The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (функция) | |
| C++ документация для atomic_fetch_add, atomic_fetch_add_explicit
| |