integral fetch_add(integral, memory_order = memory_order_seq_cst)volatile; integral fetch_add(integral, memory_order = memory_order_seq_cst); integral fetch_sub(integral, memory_order = memory_order_seq_cst)volatile; integral fetch_sub(integral, memory_order = memory_order_seq_cst); integral fetch_and(integral, memory_order = memory_order_seq_cst)volatile; integral fetch_and(integral, memory_order = memory_order_seq_cst); integral fetch_or(integral, memory_order = memory_order_seq_cst)volatile; integral fetch_or(integral, memory_order = memory_order_seq_cst); integral fetch_xor(integral, memory_order = memory_order_seq_cst)volatile; integral fetch_xor(integral, memory_order = memory_order_seq_cst); integral operator++(int)volatile; integral operator++(int); integral operator--(int)volatile; integral operator--(int); integral operator++()volatile; integral operator++(); integral operator--()volatile; integral operator--(); integral operator+=(integral)volatile; integral operator+=(integral); integral operator-=(integral)volatile; integral operator-=(integral); integral operator&=(integral)volatile; integral operator&=(integral); integral operator|=(integral)volatile; integral operator|=(integral); integral operator^=(integral)volatile; integral operator^=(integral);
?下面我們來簡單介紹以上的 std::atomic 特化版本的成員函數(shù)。
fetch_add
if T is integral (1)
T fetch_add (T val, memory_order sync = memory_order_seq_cst) volatile noexcept;
T fetch_add (T val, memory_order sync = memory_order_seq_cst) noexcept;
if T is pointer (2)
T fetch_add (ptrdiff_t val, memory_order sync = memory_order_seq_cst) volatile noexcept;
T fetch_add (ptrdiff_t val, memory_order sync = memory_order_seq_cst) noexcept;