논리 부정 연산자: !Logical negation operator: !

구문Syntax

*!***cast 식! cast-expression

설명Remarks

논리 부정 연산자 ( ! )는 피연산자의 의미를 반대로 합니다.The logical negation operator (!) reverses the meaning of its operand. 피연산자는 산술 형식, 포인터 형식 또는 산술/포인터 형식으로 계산되는 식이어야 합니다.The operand must be of arithmetic or pointer type (or an expression that evaluates to arithmetic or pointer type). 피연산자는 암시적으로 형식으로 변환 됩니다 bool .The operand is implicitly converted to type bool. 변환 된 피연산자가 이면 결과는이 true false 고, 변환 된 false 피연산자가 이면입니다 true .The result is true if the converted operand is false; the result is false if the converted operand is true. 결과는 형식입니다 bool .The result is of type bool.

식의 경우 e 단항 식은 !e (e == 0) 오버 로드 된 연산자가 포함 된 경우를 제외 하 고는 식과 같습니다.For an expression e, the unary expression !e is equivalent to the expression (e == 0), except where overloaded operators are involved.

!의 Operator 키워드Operator keyword for !

C + +는 not 의 대체 철자를 지정 합니다 ! .C++ specifies not as an alternative spelling for !. C에서 대체 철자는 헤더에 매크로로 제공 됩니다 <iso646.h> .In C, the alternative spelling is provided as a macro in the <iso646.h> header. C + +에서 대체 철자는 키워드입니다. <iso646.h>또는이에 해당 하는 c + +는 사용 <ciso646> 되지 않습니다.In C++, the alternative spelling is a keyword; use of <iso646.h> or the C++ equivalent <ciso646> is deprecated. Microsoft c + +에서 /permissive- 또는 /Za 컴파일러 옵션은 대체 철자를 사용 하도록 설정 하는 데 필요 합니다.In Microsoft C++, the /permissive- or /Za compiler option is required to enable the alternative spelling.

예제Example

// expre_Logical_NOT_Operator.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;

int main() {
    int i = 0;
    if (!i)
        cout << "i is zero" << endl;
}

참고 항목See also

단항 연산자가 있는 식Expressions with unary operators
C + + 기본 제공 연산자, 우선 순위 및 결합성C++ built-in operators, precedence, and associativity
단항 산술 연산자Unary arithmetic operators