我已多次看到这种习惯,例如这段代码:
void GetCurrentState(unsigned long bState);
我用过这样的话:
GetCurrentState(true);
它应该是这样的:
GetCurrentState(1);
GetCurrentState(TRUE);
GetCurrentState(anynumber);
答案 0 :(得分:1)
是的,IMO,使用数字来表示布尔值是糟糕的编程习惯。
对于没有布尔类型的语言,这种做法很古老。
布尔数据类型将有助于防止程序可能为 true 传递除1之外的其他值的问题,并且对1进行比较而不是不为零。
如果必须,请遵守遗留代码。推广布尔类型,您将获得奖励(代码中的缺陷更少)。