我曾经看到过一些人在条件语句中使用了两个感叹号。
#define check_bit(var, pos) (!!((var) & (1 << (pos))))
#define likely(x) __builtin_expect(!!(x),1)
#define unlikely(x) __builtin_expect(!!(x),0)
这里是我能找到的一些例子。
使用!!(condition)
是否比使用(condition)
有任何优势?