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

atomic_compare_exchange_strong_explicit 函式

 

執行 不可部分完成的比較和交換 作業。

template <class _Ty>
inline bool atomic_compare_exchange_strong_explicit(
   volatile atomic<Ty> *Atom,
   Ty *Exp,
   Ty Value,
   memory_order Order1,
   memory_order Order2
) _NOEXCEPT;

template <class Ty>
inline bool atomic_compare_exchange_strong_explicit(
   atomic<Ty> *Atom,
   Ty *Exp,
   Ty Value,
   memory_order Order1,
   memory_order Order2
) _NOEXCEPT;

Atom

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

Exp

指向 Ty型別值的指標。

Value

型別 Ty 的值。

Order1

第一個 memory_order 引數。

Order2

第二個 memory_order 引數。 Order2 的值不可以是 memory_order_releasememory_order_acq_rel,它不能比 Order1 值來的強制。

指出數值比較結果的 bool

不可部份的比較和交換作業 比較 Atom 指向儲存在物件中的值和 Exp 所指向的物件值。如果值相等,則儲存在 atom 所指向物件中的值,會藉由 read-modify-write 作業,以及套用套用由 Order1指定的記憶體順序條件約束,將其值取代為 Val如果值不相等,則作業會用 Exp 所指向的物件值,將儲存在 Atom 指向物件中的值取代,並套用由 Order2 指定的記憶體順序條件約束。

需求

標頭:atomic

命名空間: std

顯示: