如果_Bool
类型的行为像整数,并且不强制其值为true / false或1/0,例如:
_Bool bools[] = {0,3,'c',0x17};
printf("%d", bools[2]);
> 1
在那边有什么好处?这是强迫事物查看其对“真实性”的评价的一种简单方法,例如:
printf("%d\n", (_Bool) 3);
> 1
或者这对C语言有什么帮助或帮助?
优点是易读,仅此而已。例如:
bool rb() {
if (cond && f(y)) {
return true;
}
return false;
}
与:
int rb() {
if (cond && f(y)) {
return 1;
}
return 0;
}
确实没有其他好处。对于那些习惯于不使用C代码的人来说bool
,它看上去很美,但是对于那些习惯于C ++及其代码的人来说,bool
它可能会使编码感觉更加一致。
与往常一样,“强制转换为布尔值”的简单方法就是两次否定,例如:
!!3
将其减少到a0
或1
value的位置。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句