Смущен использованием двойного логического оператора not (!!) [duplicate]
На этот вопрос уже есть ответ:
Двойное отрицание в коде C ++ 14 ответов Что такое "!!" в Си? [Дубликат] 7 ответов У меня есть код на C ++, который широко использует!!
. Я немного сбит с толку, потому что, насколько я знаю,!!
сам по себе не оператор, а два!
друг за другом. Так что это будет означать, что!!foo
такой же, как простоfoo
.
Есть ли место и / или причина, когда!!
на самом деле имеет смысл? Я думал о том, может ли это иметь немного мудрый смысл? Итак, вы сначала выполните некоторую мудрую операцию надfoo
а потом!
на результат? Но я не помню!
используется как немного мудрый оператор и, кажется, не находит никакой ссылки, говорящей мне, что это тоже. Насколько я могу сказать,!
in используется только как логический оператор и в этом случае
!!foo == foo