atomic_fetch_add_explicit 函式

將值加入至 atomic 物件中儲存的現有值。

template <class T> T* atomic_fetch_add_explicit(
   volatile atomic<T*> *Atom,
   ptrdiff_t Value,
   memory_order Order
) noexcept;

template <class T> T* atomic_fetch_add_explicit(
   atomic<T*> *Atom,
   ptrdiff_t Value,
   memory_order Order
) noexcept;

參數

  • Atom
    atomic 物件的指標,該物件儲存指向 T 類型的指標。

  • Value
    型別 ptrdiff_t 的值。

傳回值

在運算執行之前,不可部分完成的物件中包含的指標值。

備註

atomic_fetch_add_explicit 函式會執行 read-modify-write 作業,在 Order 所指定的 memory_order 限制式內,以不可部分完成的方式將 Value 增加至儲存於 Atom 中的值。

當原子類型為 atomic_address 時,Value 是 ptrdiff_t 類型,而且作業會將儲存的指標視為 char *。

此作業也會為整數類型多載:

integral atomic_fetch_add_explicit(
    volatile atomic-integral * Atom, integral Value, memory_order Order
) noexcept;

integral atomic_fetch_add_explicit(
    atomic-integral * Atom, integral Value, memory_order Order
) noexcept;

需求

**標頭:**atomic

命名空間: std

請參閱

參考

<atomic>

atomic 結構

atomic_fetch_add 函式