Пространства имён
Варианты
Действия

atomic_fetch_sub, atomic_fetch_sub_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_sub( volatile A* obj, M arg );
(1)
C atomic_fetch_sub_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 subtraction of arg from 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 либо неатомической типа, соответствующие A если A является атомная целого типа, или ptrdiff_t если A является атомарный тип указателя.
Оригинал:
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.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
Для целого числа типов, арифметические определяется использовать дополнения до двух представительства. Там же
Оригинал:
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 subtract from 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 addition
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

(функция) [edit]
C++ documentation for atomic_fetch_sub, atomic_fetch_sub_explicit