C++:逻辑 AND 运算符:&&

C++:逻辑 AND 运算符:&&

  • 简介
  • 语法
  • 备注
  • 示例

简介

语法

表达式 **&&**表达式

备注

&& true 如果两个操作数都为,则逻辑 “与” 运算符()返回 true , false 否则返回。 操作数在计算前隐式转换为类型 bool ,结果为类型 bool 。 逻辑“与”具有从左到右的关联性。

逻辑 AND 运算符的操作数不需要具有相同的类型,但它们必须具有 boolean、整型或指针类型。 操作数通常为关系或相等表达式。

完全计算第一个操作数,并在对逻辑 AND 表达式的计算继续之前完成所有副作用。

仅当第一个操作数的计算结果为 true (非零)时,才计算第二个操作数。 如果逻辑 AND 表达式为,则此计算将消除第二个操作数的不必要计算 false 。 可以使用此短路计算防止 null 指针取消引用,如以下示例所示:

char *pch = 0;
// ...
(pch) && (*pch = 'a');

如果 pch 为 null (0),则从不计算表达式的右侧。 此短路计算使赋值无法通过空指针实现。

&& 的运算符关键字
C + + and 将指定为的替换拼写 && 。 在 C 中,可选拼写作为宏在标头中提供 。 在 c + + 中,替换拼写是关键字;不推荐使用或 c + + 等效项 。 在 Microsoft c + + 中, /permissive- /Za 需要或编译器选项来启用备用拼写。

示例

// expre_Logical_AND_Operator.cpp
// compile with: /EHsc
// Demonstrate logical AND
#include 

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.csdn.net/it_cplusplus/article/details/118834407

你可能感兴趣的:(C++语言学习文档)