2012-11-17 51 views

回答

3

我认为简答题是NO。长答案取决于条件和功能。

1

一般来说,没有。

如果被调用的函数重新评估条件,那么可能是的,通过提升函数中重新评估条件的函数部分,因为条件已知是正确的。 (这被称为“部分评估”)。

如果condition1和condition2有关系,那么可能是。试想一下,条件1是由几个方面

c1a and c1b and .. c1n 

和C2组成的

c2a and c2b and ... c2m 

如果文C1 i的某个子集意味着C2J的某个子集,那么你就可以更有效地评估的条件:

if (c1isubset) { 
     if (c1irest) 
      { // call to function 1 
      } 
     endif 
     if (c2jrest) 
      { // call to function2) 
      } 
    } 

当然,这可能是因为C2J的一个子集意味着文C1 i的一个子集,然后你身边交换测试的顺序。