根据标准,以下有效输出的集合是什么?
bool x;
cout << (x ? 1 : 2);
编辑:未知(谷歌)已经得到它。sprite.setFrame(isPressed ? 0 : 1)
在 gcc 中,由于条件返回 28,我的代码崩溃了!
根据标准,以下有效输出的集合是什么?
bool x;
cout << (x ? 1 : 2);
编辑:未知(谷歌)已经得到它。sprite.setFrame(isPressed ? 0 : 1)
在 gcc 中,由于条件返回 28,我的代码崩溃了!
如果 x 未初始化,则它可以为真或假。所以有效的输出是 1 或 2。
使用未初始化的变量是未定义的。所以任何事情都可能发生
以本标准描述为“未定义”的方式使用布尔值,例如通过检查未初始化的自动变量的值,可能会导致它的行为既不是真也不是假。
欢迎来到未定义行为的世界。但首先,你为什么要这样做?
任何事情都可能发生,包括 fireTheMissiles()。