c++ - 将枚举转换为 bool 类型

标签 c++

在我的应用程序中,我想将 AND 表示为 1,将 OR 表示为 0,而不是选择 #define 方法,我使用枚举来表示它们,如下面的示例程序所示

#include <stdio.h>

enum gateConnection_t
{AND,OR}
gateConnection;

int main()
{

bool and_t = AND;
bool or_t = OR;

printf("%d\n",and_t);
printf("%d\n",or_t);

return 0;
}

如上所示,我直接将枚举值分配给 bool vvariables。该程序按预期工作,我唯一的问题是完成的内部转换是否安全,还是使用显式转换(如 static_cast)更好?

最佳答案

对于初学者来说,您的 {AND,OR} 是错误的。

标准枚举从 0 开始(尽管您可以覆盖它)。

使用

enum gateConnection_t
{OR,AND}

相反。

顺便说一句, Actor 很安全。

从概念上讲,这是一件令人讨厌的事情。你为什么要这个;特别是在 C++ 中? true 和 false 有什么不对?

关于c++ - 将枚举转换为 bool 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17045418/

相关文章:

python - C++ wxsocket TCP服务器发送无符号字符数组但python客户端在中获得4个字节

c++ - 使用 CScope 查找函数调用(非定义)(C/C++)

c++ - 将传感器数据发布给制图师

C++ 跨平台进程 : is POCO lib good? 其他选择?

c++ - 如何将 C++ dll 项目添加到 Visual Basic 引用中?

c++ - 进程挂起调试 C/C++

c++ - openssl BF_cfb64_encrypt 线程安全

c++ - 当我已经知道类型名称时嵌套模板参数

java - 如何通过JNI将java CharSequence转换为c++ char*

c++ - 通过输入名称和年份从特定结构中获取数据