У меня есть код на C ++, в котором широко используется !!
. Я немного сбит с толку, потому что, насколько я знаю, !!
- это не оператор сам по себе, а два !
друг за другом. Это будет означать, что !!foo
то же самое, что просто foo
.
Есть ли место и / или причина, по которой !!
действительно имеет смысл? Я думал о том, может ли это иметь немного мудрое значение? Итак, вы сначала выполняете некоторую побитовую операцию с foo
, а затем !
с результатом? Но я, кажется, не помню, чтобы !
использовался как немного мудрый оператор, и, кажется, не нашел ни одной ссылки, говорящей мне, что это тоже. Насколько я могу судить, !
используется только как логический оператор, и в этом случае
!!foo == foo
x+++++y+1
, но это плохая идея. - person msw   schedule 24.04.2013!!
прекрасно определен и соответствует запуску безопасных операторов преобразования типа bool. Что особенно полезно дляoptional
,variant
или любого умного указателя. - person v.oddou   schedule 10.12.2019