如何在C ++中创建原子枚举?

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C ++中创建原子枚举?

来自分类Dev

如何在Erlang中动态创建原子?

来自分类Dev

如何在ember中创建枚举服务

来自分类Dev

如何在Swift中创建对枚举的绑定?

来自分类Dev

如何在C#中声明枚举

来自分类Dev

如何在Rust中创建具有常量值的枚举?

来自分类Dev

如何在HTML / CSS中创建枚举的表格环境?

来自分类Dev

如何在Kotlin中从字符串创建枚举?

来自分类Dev

Liquibase DatabaseChangeLog XML文件-如何在Postgresql中创建枚举

来自分类Dev

如何在Javascript / Typescript中创建基于类的枚举

来自分类Dev

如何在Ember中创建自定义枚举器?

来自分类Dev

如何在HTML / CSS中创建枚举的表格环境?

来自分类Dev

如何在C中枚举枚举中的所有内容?

来自分类Dev

如何从枚举中的数据创建对象列表?

来自分类Dev

如何从枚举中的数据创建对象列表?

来自分类Dev

如何从 Rust 中的不安全内存创建原子

来自分类Dev

如何在Swift中从另一个枚举创建枚举?

来自分类Dev

如何在F#中调用C#枚举的值

来自分类Dev

如何在C#中优化枚举分配

来自分类Dev

如何在C ++ 11中使用弱枚举?

来自分类Dev

如何在python中定义C枚举类型

来自分类Dev

如何在C#中模拟枚举器

来自分类Dev

如何在C#枚举中获取元素的Display属性

来自分类Dev

如何在C程序的结构中访问定义的枚举

来自分类Dev

如何在Swift中处理C枚举回调函数

来自分类Dev

如何在C ++中枚举结构的默认值

来自分类Dev

如何在C ++ 11中定义通用枚举?

来自分类Dev

如何在C#中模拟枚举器

来自分类Dev

如何在golang中枚举?