建議使用 Visual Studio 2017

atomic 結構

 

如需 Visual Studio 2017 的最新文件請參閱 Visual Studio 2017 文件

描述執行不可部分完成的作業預存值類型的物件Ty

template <class Ty>
struct atomic;

公用建構函式

名稱描述
atomic:: atomic 建構函式建構的不可部分完成的物件。

公用運算子

名稱描述
atomic:: operator Ty 運算子讀取並傳回儲存的值。 (atomic:: load 方法)
atomic:: operator = 運算子使用指定的值來取代儲存的值。 (atomic:: store 方法)
atomic:: operator + + 運算子遞增儲存的值。 只有整數類資料類型和指標特製化使用。
atomic:: operator + = 運算子將指定的值加入至儲存的值。 只有整數類資料類型和指標特製化使用。
atomic:: operator-運算子遞減儲存的值。 只有整數類資料類型和指標特製化使用。
atomic:: operator-= 運算子減去指定的值,從儲存的值。 只有整數類資料類型和指標特製化使用。
atomic:: i = 運算子執行位元and上指定的值和儲存的值。 只有整數類資料的特製化使用。
[atomic:: operator= 運算子](../Topic/atomic::operator%7C=%20Operator.md)執行位元or上指定的值和儲存的值。 只有整數類資料的特製化使用。
atomic:: operator ^ = 運算子執行位元exclusive or上指定的值和儲存的值。 只有整數類資料的特製化使用。

公用方法

名稱說明
atomic:: compare_exchange_strong 方法執行atomic_compare_and_exchange作業this,並傳回結果。
atomic:: compare_exchange_weak 方法執行weak_atomic_compare_and_exchange作業this,並傳回結果。
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

標頭︰不可部分完成

命名空間: std

<>>
標頭檔參考

顯示: