Оператор логического отрицания: !
Синтаксис
!
cast-expression
Замечания
Оператор логического отрицания (!
) изменяет значение операнда. Операнд должен иметь арифметический тип или тип указателя (либо выражение, результатом которого является арифметический тип или тип указателя). Операнд неявно преобразуется в тип bool
. Результатом является то, если преобразованный операнд имеет значение; результатом true
является false
преобразование операндаfalse
true
. Результат имеет тип bool
.
Для выражения e
унарное выражение !e
эквивалентно выражению (e == 0)
, за исключением того, где задействованы перегруженные операторы.
Оператор ключевое слово для !
C++ указывает not
в качестве альтернативной орфографии для !
. В C альтернативная орфография предоставляется в виде макроса в заголовке <iso646.h> . В C++альтернативная орфография является ключевое слово; <использование iso646.h> или эквивалентное <C++ ciso646> не рекомендуется. В Microsoft C++ /permissive-
параметр или /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++, приоритет и ассоциативность
Унарные арифметические операторы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по