简介
语法
表达式 **&&**表达式
备注
&& true 如果两个操作数都为,则逻辑 “与” 运算符()返回 true , false 否则返回。 操作数在计算前隐式转换为类型 bool ,结果为类型 bool 。 逻辑“与”具有从左到右的关联性。
逻辑 AND 运算符的操作数不需要具有相同的类型,但它们必须具有 boolean、整型或指针类型。 操作数通常为关系或相等表达式。
完全计算第一个操作数,并在对逻辑 AND 表达式的计算继续之前完成所有副作用。
仅当第一个操作数的计算结果为 true (非零)时,才计算第二个操作数。 如果逻辑 AND 表达式为,则此计算将消除第二个操作数的不必要计算 false 。 可以使用此短路计算防止 null 指针取消引用,如以下示例所示:
char *pch = 0;
// ...
(pch) && (*pch = 'a');
如果 pch 为 null (0),则从不计算表达式的右侧。 此短路计算使赋值无法通过空指针实现。
&& 的运算符关键字
C + + and 将指定为的替换拼写 && 。 在 C 中,可选拼写作为宏在标头中提供 <iso646.h> 。 在 c + + 中,替换拼写是关键字;<iso646.h>不推荐使用或 c + + 等效项 。 在 Microsoft c + + 中, /permissive- /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;
}
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处,本文章博客地址:https://blog.youkuaiyun.com/it_cplusplus/article/details/118834407