逻辑"与"运算符:&&

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;
}

请参见

参考

C++逻辑运算符

C++运算符

运算符优先级和结合性

C逻辑运算符