atomic_fetch_sub_explicit 函式
從 atomic 物件中儲存的現有值減去值。
template <class T> T* atomic_fetch_sub_explicit(
volatile atomic<T*> *Atom,
ptrdiff_t Value,
memory_order Order
) noexcept;
template <class T> T* atomic_fetch_sub_explicit(
atomic<T*> *Atom,
ptrdiff_t Value,
memory_order Order
) noexcept;
參數
Atom
atomic 物件的指標,該物件儲存指向 T 類型的指標。Value
型別 ptrdiff_t 的值。
傳回值
在運算執行之前,不可部分完成的物件中包含的指標值。
備註
atomic_fetch_sub_explicit 函式會執行 read-modify-write 作業,在 Order 所指定的 memory_order 限制式內,以不可部分完成的方式從儲存於 Atom 中的值減去 Value。
當原子類型為 atomic_address 時,Value 是 ptrdiff_t 類型,而且作業會將儲存的指標視為 char *。
此作業也會為整數類型多載:
integral atomic_fetch_sub_explicit(
volatile atomic-integral * Atom, integral Value, memory_order Order
) noexcept;
integral atomic_fetch_sub_explicit(
atomic-integral * Atom, integral Value, memory_order Order
) noexcept;
需求
**標頭:**atomic
命名空間: std