다음을 통해 공유


논리곱 연산자: & &

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;
}

참고 항목

참조

C + + 논리 연산자

C + + 연산자

연산자 우선 순위 및 결합성

C 논리 연산자