atomic 結構

描述物件在型別 Ty儲存值的元素不可部分完成的作業。

template <class Ty>
struct atomic;

成員

公用建構函式

Name

說明

atomic::atomic 建構函式

建構一個不可部分完成的物件。

公用運算子

Name

說明

atomic::operator Ty 運算子

讀取並回傳已儲存的值。(atomic::load 方法)

atomic::operator= 運算子

使用指定的值取代所儲存的值。(atomic::store 方法)

atomic::operator++ 運算子

增加儲存的值。 只能由整數和指標特製化。

atomic::operator+= 運算子

增加指定值加至儲存的值。 只能由整數和指標特製化。

atomic::operator-- 運算子

減少儲存的值。 只能由整數和指標特製化。

atomic::operator-= 運算子

從儲存的值減去某個值。 只能由整數和指標特製化。

atomic::operator&= 運算子

對指定值與儲存值執行位元 and 。 為整數限定使用。

atomic::operator|= 運算子

對指定值與儲存值執行位元 or。 為整數限定使用。

atomic::operator^= 運算子

對指定值與儲存值執行位元 exclusive or 。 為整數限定使用。

公用方法

Name

說明

atomic::compare_exchange_strong 方法

會在 this 上的 atomic_compare_and_exchange 作業並傳回結果。

atomic::compare_exchange_weak 方法

會在 this 上的 weak_atomic_compare_and_exchange 作業並傳回結果。

atomic::fetch_add 方法

增加指定值加至儲存的值。

atomic::fetch_and 方法

對指定值與儲存值執行位元 and 。

atomic::fetch_or 方法

對指定值與儲存值執行位元 or。

atomic::fetch_sub 方法

從儲存的值減去某個值。

atomic::fetch_xor 方法

對指定值與儲存值執行位元 exclusive or 。

atomic::is_lock_free 方法

指定 this 的不可部分完成的作業是否已 無鎖定。 如果該型別使用的不可部分完成的作業不會鎖定,原子型別是 無鎖定 。

atomic::load 方法

讀取並回傳已儲存的值。

atomic::store 方法

使用指定的值取代所儲存的值。

備註

Ty 型別 一般來說可複製。 也就是使用 memcpy 複製的位元組必須產生有效的 Ty 物件,其相比較等於原始物件。 compare_exchange_weakcompare_exchange_strong 成員函式使用 memcmp 來判斷兩個 Ty 值是否相等。 這些函式不會使用 Ty 中定義的 operator==atomic 的成員函式使用 memcpy 複製 Ty型別的值。

部分特製化,則為 atomic<Ty *>,存在於任何指標型別。 特製化啟用位移加入 Managed 指標值或減去其指定的位移。 算術運算接受一個型別 ptrdiff_t 之引數和根據 Ty 大小調整至該引數一致與泛型位址算術。

特製化存在於除了 bool的每個整數型別。 每個特製化為不可部分完成的算術和邏輯作業提供相當豐富的方法。

atomic<char>

atomic<signed char>

atomic<unsigned char>

atomic<char16_t>

atomic<char32_t>

atomic<wchar_t>

atomic<short>

atomic<unsigned short>

atomic<int>

atomic<unsigned int>

atomic<long>

atomic<unsigned long>

atomic<long long>

atomic<unsigned long long>

整數特製化從對應的 **atomic_**integral 型別衍生。 例如,atomic<unsigned int> 是從 atomic_uint 衍生而來。

需求

**標頭:**atomic

命名空間: std

請參閱

參考

<atomic>

其他資源

C++ 標準程式庫標頭檔