논리곱 연산자: & &
expression && expression
설명
논리곱 연산자 (& &) 부울 값을 반환 합니다 true 경우 두 피연산자를 모두 true 반환 하 고 false 그렇지.피연산자 형식으로 암시적으로 변환 됩니다 bool 의 형식이 이전 평가 및 그 결과에 bool.논리 왼쪽에서 오른쪽으로 결합이 됩니다.
같은 종류의 피연산자의 논리 AND 연산자를 하지 않아도 되지만 있어야 정수 계열 또는 포인터 형식입니다.피연산자는 일반적으로 관계형 됩니다 또는 같음 식입니다.
완벽 하 게 평가 하는 첫 번째 피연산자와 AND 논리 식의 평가 계속 하기 전에 모든 파생 작업이 완료 됩니다.
만 첫 번째 피연산자가 true (0이 아닌)로 계산 되 면 두 번째 피연산자가 계산 됩니다.논리 AND 식이 false 이면이 평가 두 번째 피연산자의 불필요 한 계산을 제거 합니다.이 사용할 수 있습니다 다음 예제와 같이 null 포인터 역참조 하지 못하도록 평가 단락:
char *pch = 0;
...
(pch) && (*pch = 'a');
경우 pch null입니다 (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;
}