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