Solaris 动态跟踪指南

逻辑运算符

D 提供了以下二元逻辑运算符供在程序中使用。前两个运算符等效于相应的 ANSI-C 运算符。

表 2–8 D 逻辑运算符

&&

逻辑 AND:两个操作数都为 true 时,结果为 true

||

逻辑 OR:一个或两个操作数为 true 时,结果为 true

^^

逻辑 XOR:只有一个操作数为 true 时,结果为 true

逻辑运算符通常用于编写 D 谓词。逻辑运算符 AND 使用简化求值法:如果左边的操作数为 false,则不会计算右边的表达式。逻辑运算符 OR 也使用简化求值法:如果左边的操作数为 true,则不会计算右边的表达式。逻辑 XOR 运算符不使用简化求值法:始终会计算两个表达式操作数。

除了二元逻辑运算符,一元 ! 运算符也可用于对单个操作数执行逻辑否定:它将零操作数转换为一,将非零操作数转换为零。根据约定,D 程序员在处理要用于表示布尔值的整数时使用 !,而在处理非布尔整数时使用 == 0,尽管两种表达式在含义上相同。

逻辑运算符可以应用于整数或指针类型的操作数。逻辑运算符将指针操作数解释为无符号整数值。与 D 中的所有逻辑和关系运算符一样,如果操作数具有非零整数值,则将解释为 true,如果具有零整数值,则将解释为 false。