gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-27 23:14:53 27 4
gpt4 key购买 nike

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

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com