15.3  原子类型

15.3 原子类型

前面已经讲过,头文件<atomic>包含3个原子类型:

•template<class T>struct atomic;

•template< >struct atomic<integral>;

•template<class T>struct atomic<T>;

这些模板类型分别提供了多种针对原子类型对象的操作,例如常规操作、模板函数操作、算术操作、指针类型操作等。

头文件还提供了诸多的原子类型操作接口,而原子类型也提供了相应功能的成员函数。这3个类型的声明形式分别为:

978-7-111-51399-5-Chapter15-35.jpg

978-7-111-51399-5-Chapter15-36.jpg

978-7-111-51399-5-Chapter15-37.jpg

978-7-111-51399-5-Chapter15-38.jpg

上述3个类型基本上均定义了构造器、store()、load()、无锁属性判断、交换、加法、减法以及运算操作符和逻辑运算符等。