我可以帮您翻译成中文,以下是需要翻译的内容:
我有以下代码片段:
int x=2,y=3;
if ( (y == x++) | (x < ++y) )
// rest of code
我知道在C++中,你被教导不要依赖子表达式的评估顺序,因为它没有保证任何顺序。所以这段代码会出错,并且在条件表达式中产生的布尔值不能保证为真(例如,在第一个等式测试中,y可能在其评估之前被增加)。由于我在Java认证书中读到了这段代码,我假设在Java中不是这种情况...我的意思是,在Java中,我是否保证评估顺序总是从左到右?因此,上述表达式应始终为true。
|
和||
是不同的。 - jhamon