标签: short-circuiting

VB.NET中是否有条件三元运算符?

在Perl(和其他语言)中,条件三元运算符可以表示如下:

my $foo = $bar == $buz ? $cat : $dog;
Run Code Online (Sandbox Code Playgroud)

VB.NET中是否有类似的运算符?

vb.net operators conditional-operator short-circuiting

426
推荐指数
3
解决办法
21万
查看次数

301
推荐指数
3
解决办法
8万
查看次数

如何在Twig中检查null?

我应该使用什么构造来检查Twig模板中的值是否为NULL?

php short-circuiting twig

274
推荐指数
6
解决办法
22万
查看次数

在VB.NET中And和AndAlso有什么区别?

在VB.NET中,And和之间有什么区别AndAlso?我应该使用哪个?

vb.net short-circuiting

240
推荐指数
8
解决办法
14万
查看次数

是否要求短路逻辑运营商?和评估顺序?

ANSI标准是否要求逻辑运算符在C或C++中被短路?

我很困惑,因为我记得K&R的书说你的代码不应该依赖于这些操作被短路,因为它们可能没有.有人可以指出标准中的哪个位置逻辑操作始终是短路的吗?我最感兴趣的是C++,C的答案也很棒.

我还记得读(不记得在哪里)评估顺序没有严格定义,所以你的代码不应该依赖或假设表达式中的函数将按特定的顺序执行:在语句的末尾所有引用的函数将被调用,但编译器可以自由选择最有效的顺序.

标准是否表明该表达式的评估顺序?

if( functionA() && functionB() && functionC() ) cout<<"Hello world";
Run Code Online (Sandbox Code Playgroud)

c c++ operator-precedence short-circuiting logical-operators

137
推荐指数
5
解决办法
3万
查看次数

是否存在重载&&和||的原因 不要短路?

运算符的短路行为&&,并||是程序员的好工具.

但为什么他们在超载时会失去这种行为?我理解运算符只是函数的语法糖,但操作符bool有这种行为,为什么它应该限制在这种类型?这背后有任何技术推理吗?

c++ operator-overloading short-circuiting logical-operators c++11

136
推荐指数
8
解决办法
1万
查看次数

是否对SQL WHERE子句进行了短路评估?

例如:

SELECT * 
FROM Table t 
WHERE @key IS NULL OR (@key IS NOT NULL AND @key = t.Key) 
Run Code Online (Sandbox Code Playgroud)

如果@key IS NULL的计算结果为true,那么@key IS是否为NULL并且@key = t.Key是否已计算?

如果不是,为什么不呢?

如果是,是否有保证?它是ANSI SQL的一部分还是特定于数据库?

如果是数据库特定的,SqlServer?甲骨文?MySQL的?

参考:短路评估

sql short-circuiting

135
推荐指数
6
解决办法
5万
查看次数

Java中的三元运算符仅评估自Java 7以来的一个表达式 - 在Java 1.6和更低版本中是不同的?

为了准备Oracle认证助理Java SE 8程序员1考试,我在官方学习指南中看到了关于三元表达的以下段落:

三元表达式评估
从Java 7开始,将仅在运行时评估三元运算符的右侧表达式之一.以类似于短路运算符的方式,如果三元运算符中的两个右手表达式之一执行副作用,则可能不会在运行时应用它.让我们用以下例子来说明这个原则:[...]

它表示只评估两个表达式中的一个,演示如下:

int y = 1;
int z = 1;
int a = y < 10 ? y++ : z++;
Run Code Online (Sandbox Code Playgroud)

在这里,只有y增量,但z没有,正如您所期望的那样.

我绊倒的是段落的开头(标记为黄色),其中显示"从Java 7开始,......".我用Java 1.6测试了相同的代码,但是我找不到行为上的差异.我希望Java 1.6只根据段落中给出的信息来评估这两个表达式.有没有人知道他们想用"从Java 7开始......"这么说?

编辑:为了避免混淆:归结为这个问题,因为他们编写了"从Java 7开始",从Java 6切换到Java 7时,三元运算符有什么变化吗?

java ternary-operator short-circuiting java-6

106
推荐指数
2
解决办法
6555
查看次数

91
推荐指数
5
解决办法
13万
查看次数

JavaScript有"短路"评估吗?

可能重复:
使用&&的短路作为if语句?
javascript是否在布尔表达式中使用优化?

我想知道是否__CODE__"短路"评估,如C#中的&& Operator.如果不是,我想知道是否有采用合理的解决方法.

javascript short-circuiting

90
推荐指数
2
解决办法
4万
查看次数