std::atomic::fetch_sub
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> T fetch_sub( T arg, memory_order = std::memory_order_seq_cst ); T fetch_sub( T arg, memory_order = std::memory_order_seq_cst ) volatile; |
(Член только специализация шаблона atomic<Integral>)(начиная с C++11) |
|
T* fetch_sub( std::ptrdiff_t arg, memory_order = std::memory_order_seq_cst ); T* fetch_sub( std::ptrdiff_t arg, memory_order = std::memory_order_seq_cst ) volatile; |
(Член только специализация шаблона atomic<T*>)(начиная с C++11) |
|
Атомарно заменяет текущее значение с результатом арифметического вычитания стоимости и
arg. Операция чтения-модификации-записи. Память пострадавших в зависимости от значения memory_order.Оригинал:
Atomically replaces the current value with the result of arithmetic subtraction of the value and
arg. The operation is read-modify-write operation. Memory is affected according to the value of memory_order.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Для подписан типов
Integral, арифметика определяется использовать в дополнительном представлении. Там жеОригинал:
For signed
Integral types, arithmetic is defined to use two’s complement representation. ThereТекст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
не к неопределенному результату. Для
T* типов, результат может быть неопределенным адресом, но операциях в противном случае не имеют неопределенное поведение.Оригинал:
are no undefined results. For
T* types, the result may be an undefined address, but the operations otherwise have no undefined behavior.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Параметры
| arg | — | Другой аргумент арифметического вычитания
Оригинал: the other argument of arithmetic subtraction Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
| memory_order | — | ограничениям памяти целях обеспечения соблюдения
Оригинал: memory order constraints to enforce Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. |
Возвращаемое значение
Значение атомарных переменных перед вызовом.
Оригинал:
The value of the atomic variable before the call.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Исключения
спецификация noexcept:
noexceptСм. также
(C++11)(C++11) |
вычитает неатомарное значение из атомарного объекта и получает предыдущее атомарное значение (шаблон функции) |