c++ - 表达式的有效值是什么 (uninitialized_bool ? 1 : 2)?

标签 c++ initialization

根据标准,以下的有效输出集是什么?

bool x;
cout << (x ? 1 : 2);

edit: unknown(google) 已经知道了。在 gcc 中,我的代码因 sprite.setFrame(isPressed ? 0 : 1) 而崩溃,条件返回 28!

最佳答案

如果 x 未初始化,则它可以是 true 或 false。所以有效输出是 1 或 2。

关于c++ - 表达式的有效值是什么 (uninitialized_bool ? 1 : 2)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/532755/

相关文章:

c++ - 如何编写垂直右侧的 IE 资源管理器栏

c++ - 如何运行需要没有管理员权限的应用程序

c++ - 我可以在类定义中放置 "non-static blocks"代码吗?

引用结构的c++类构造函数

cocoa - Swift 初始化程序中参数名称中的 "with"

c++ - 链接 : fatal error LNK1104: cannot open file 'MSVCRTD.lib'

关于命名空间和别名的 C++ 混淆 : no nesting and no using directives

c++ - const 和非常量迭代器的一个类。是否可以?

c++ - 如何在 C++ 和 OpenCV 中的 vector vector 中存储来自不同图像的多个描述符?

c# - 是否可以在不运行该类的任何代码的情况下创建该类的实例? (没有构造函数,没有字段初始化)