Operador de negação lógica: !
! cast-expression
Comentários
O operador de negação lógica (!) inverte o significado do respectivo operando. O operando deve ser do tipo aritmético ou ponteiro (ou uma expressão que é avaliada para o tipo aritmético ou ponteiro). O operando é convertido implicitamente no tipo bool. O resultado será true se o operando convertido for false; o resultado será false se o operando convertido for true. O resultado é do tipo bool.
Para uma expressão e, a expressão unária **!**e é equivalente à expressão **(**e == 0), exceto onde operadores sobrecarregados estão envolvidos.
Palavra-chave de operador para !
O operador not é o equivalente de texto de !. Há duas maneiras de acessar o operador not nos programas: incluir o arquivo de cabeçalho iso646.h ou compilar com a opção de compilador /Za (Desabilitar extensões de linguagem).
Exemplo
// 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;
}
Consulte também
Referência
Expressões com operadores unários
Operadores, precedência e associatividade C++