-
- Эти !! гарантируют что результатом будет булевское true/false или целое 0/1 после integer promotion, а не что-то другое, в зависимости от того где эта строка в конечном итоге окажется. Надо ли это в данном конкретном случае - это уже другой вопрос. - ЫЫyкпy(26.10.2023 09:44)
- возвращает bool - Vit(26.10.2023 09:37)
- Вообще-то int. Но либо 0, либо 1. - SciFi(26.10.2023 09:43)
- значение да. но результат выражения это логические true/false (не обязательно имеющие отношение к
заалиасенному типу bool). и не везде bool явно задан как алиас на какой-нибудь int (в
AVR-GCC оно подтягивалось как uint8_t, например) - в Keil это
intrinsic. - Vit(26.10.2023 09:55)
- Это я занудничаю. На выходе оператора ! всегда значение типа int.
Ну а все остальные рассказы про bool и т.д. - это уже свободное
творчество, которое, безусловно, имеет право на жизнь :-) SciFi(1 знак., 26.10.2023 10:01, картинка)
- Это в С так, а в плюсах результат будет типа bool. Тут важно другое - такая запись полезна когда человек глядя на текст программы предполагает что результатом будет да/нет, так вот именно это он и получит независимо от контекста или компилятора С или С++. ЫЫyкпy(104 знак., 26.10.2023 10:47)
- видно надоело разъяснять почему и оставили только как:) - Vit(26.10.2023 10:21)
- Это я занудничаю. На выходе оператора ! всегда значение типа int.
Ну а все остальные рассказы про bool и т.д. - это уже свободное
творчество, которое, безусловно, имеет право на жизнь :-) SciFi(1 знак., 26.10.2023 10:01, картинка)
- значение да. но результат выражения это логические true/false (не обязательно имеющие отношение к
заалиасенному типу bool). и не везде bool явно задан как алиас на какой-нибудь int (в
AVR-GCC оно подтягивалось как uint8_t, например) - в Keil это
intrinsic. - Vit(26.10.2023 09:55)
- Вообще-то int. Но либо 0, либо 1. - SciFi(26.10.2023 09:43)
- Две лишние операции "не" добавляет, которые здесь вообще не нужны. - Eddy_Em(26.10.2023 08:12)