在C ++中比较bool和1

时间:2015-09-23 09:10:58

标签: c++ visual-studio-2008

将bool与1比较是否正确?

在遗留代码中我经常找到:

if (xyz.isCounterActive() == 1)

其中sCounterActive()返回bool。

显然,if ( xyz.isCounterActive() )已足够,但如果我改变了这一点,我就不知道它可能导致哪些副作用。软件很大,有问题,但客户坚持认为它正在运行。

编译器是VS2008

1 个答案:

答案 0 :(得分:1)

在这种情况下,xyz.isCounterActive()的结果将隐式转换为int。有许多隐式转换规则,例如可以找到here

isCounterActive引入以来,isCounterActive的签名可能已更改,而更改后的签名则忘记修改所有$('nav #mobileMenu').on('click', function() { // Get it from the cookie or data. if ($.cookie('isToggled') != undefined) var isToggled = $.cookie('isToggled'); else var isToggled = $(this).data('isToggled'); if(isToggled) { $("nav#menu").addClass("mobileMenuActive"); $("nav ul").fadeIn(1000); $("nav em").fadeOut('fast'); } else { $("nav#menu").removeClass("mobileMenuActive"); $("nav ul").fadeOut(1000); $("nav em").fadeIn('fast'); } $(this).data('isToggled', !isToggled) $.cookie('isToggled', !isToggled, { expires: 7, path: '/' }); }) 次来电。