2012-11-17 47 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的一個子集,然後你身邊交換測試的順序。