Логические операторы И операторы: &&

expression && expression

Заметки

Оператор логического И (&&возвращает логическое значение) true если оба операнда true возвращает false в противном случае.Операнды неявно преобразованы в тип bool до вычисления, и результатом типа bool.Логические И имеет ассоциативность слева направо.

К логическим операндам И оператору не должен быть того же типа, но они должны иметь целочисленные или типа указателя.Операнды часто выражения реляционных или равенства.

Первый операнд полностью вычисляется и все побочные эффекты завершены перед тем как продолжить выполнение логических И выражения.

Второй операнд вычисляться, только если первый операнд имеет значение true (не равен нулю).Эта оценка исключает необязательную оценку второго операнда, когда логическое И выражение значение false.Можно использовать эту политику короткого замыкания, чтобы предотвратить null-указатель разыменования, как показано в следующем примере:

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

If pch null (0), правая часть выражения никогда не вычисляется.Поэтому назначения через указатель null невозможно.

Ключевое слово для оператора &&

и оператор число текста &&.2 Способа получения доступа и оператор в программах: включите файл заголовка 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++

Operator precedence and Associativity

Логические операторы C#