2008-11-18

Lazy evaluation

对于C/C++,if语句的表达式如果使用&&,则计算到某个条件为false后,后面就不会执行。
因此,经常有人写if((pTemp != NULL) && (pTemp->iValue > 10))类似的语句。(注:实际上这种写法不严谨。)

对于Java,if语句中表达式结果只能是Boolean。但是,可以使用&&和&。
如果使用&&,则与C/C++一样,Lazy evaluation。
如果使用&,则即使某个条件为false之后还会计算所有的条件。(可以理解为Boolean的位与)

No comments: