Логические операторы И операторы: &&
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;
}