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

請參閱

參考

<atomic>

atomic 結構

atomic_fetch_sub_explicit 函式