若要檢視英文版的文章,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

atomic_fetch_add 函式

 

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

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

template <class T> T* atomic_fetch_add(
   atomic<T*> *Atom,
   ptrdiff_t Value
) noexcept;

Atom

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

Value

型別 ptrdiff_t 的值。

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

atomic_fetch_add 函式會執行 read-modify-write 作業,使用 memory_order_seq_cstmemory_order 限制式,以不可部分完成的方式將 Value 增加至儲存於 Atom 中的值。

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

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

integral atomic_fetch_add(
    volatile atomic-integral * Atom, integral Value
) noexcept;

integral atomic_fetch_add(
    atomic-integral * Atom, integral Value
) noexcept;

需求

標頭:atomic

命名空間: std

顯示: