Поделиться через


Оператор логического отрицания: !

! cast-expression

Заметки

Оператор логического отрицания (!) меняет значение своего операнда на противоположное. Операнд должен иметь арифметический тип или тип указателя (либо выражение, результатом которого является арифметический тип или тип указателя). Операнд неявно преобразуется в тип bool. Результат — true, если преобразованный операнд — false; результат — false, если преобразованный операнд — true. Результат имеет тип bool.

Для выражения e унарное выражение **!**e эквивалентно выражению **(**e == 0), за исключением случаев, когда используются перегруженные операторы.

Ключевое слово оператора для !

Оператор not является текстовым эквивалентом !. Чтобы получить доступ к оператору not в программах, следует включить файл заголовка iso646.h или выполнить компиляцию с параметром компилятора /Za ("Отключить расширения языка").

Пример

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

См. также

Ссылки

Выражения с унарными операторами

Операторы C++

Операторы C++, приоритет и ассоциативность

Основные понятия

Унарные арифметические операторы