在我的应用程序中,我想将 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/