Я видел код, в котором люди использовали условные предложения с двумя "!"
#define check_bit(var, pos) (!!((var) & (1 << (pos))))
#define likely(x) __builtin_expect(!!(x),1)
#define unlikely(x) __builtin_expect(!!(x),0)
- некоторые из примеров, которые я мог найти.
Есть ли преимущество в использовании !!(condition)
над (condition)
?