类atomic
包含许多不同变量类型的原子版本。但是,它不包含原子枚举类型。有没有办法使用原子枚举或创建自己的枚举?据我所知,我唯一的选择是不使用枚举或使用互斥量/信号量来保护它们。
注意:我发现的此错误报告提到了“ std :: atomic枚举支持”,但是在C ++ Standard中我没有提及原子枚举类型,因此我不确定该指的是什么。
您可以创建一个原子枚举,如下所示:
#include <atomic>
enum Decision {stay,flee,dance};
std::atomic<Decision> emma_choice {stay}; // emma_choice is atomic
您还可以对枚举类执行相同的操作:
#include <atomic>
enum class Decision {stay,flee,dance};
std::atomic<Decision> emma_choice {Decision::stay}; // emma_choice is atomic
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句