逻辑"与"运算符:&&
expression && expression
备注
逻辑 " 与 " 运算符 () 返回布尔值 true ,如果两个操作数是 true 和否则返回 错误 。 隐式转换操作数在计算之前键入, bool ,结果是类型 bool。 逻辑和具有从左向右的关联性。
对于逻辑 " 与 " 运算符的操作数不需要属于同一类型,但是,它们必须是整型或指针类型。 操作数通常是相关或相等表达式。
第一个操作数完全进行计算,然后任何副作用在继续逻辑和表达式的计算之前完成。
第二个操作数对象进行计算,只有当第一个操作数计算结果为 true (非零)。 ,在逻辑和表达式为 false 时,此计算消除第二个操作数对象的不必要的计算。 可以使用此短路计算防止间接引用,如下面的示例所示的 null 指针:
char *pch = 0;
...
(pch) && (*pch = 'a');
如果 pch 为空 (0),该表达式的右侧进行评估。 因此,分配传递一个 null 指针是不可能的。
运算符关键字。
和 运算符是文本等效。 有两种方法可以访问程序的 和 运算符:包含头文件 iso646.h或编译 /Za (禁用语言扩展) 编译器选项。
示例
// expre_Logical_AND_Operator.cpp
// compile with: /EHsc
// Demonstrate logical AND
#include <iostream>
using namespace std;
int main() {
int a = 5, b = 10, c = 15;
cout << boolalpha
<< "The true expression "
<< "a < b && b < c yields "
<< (a < b && b < c) << endl
<< "The false expression "
<< "a > b && b < c yields "
<< (a > b && b < c) << endl;
}