关键词搜索

源码搜索 ×
×

布尔变量应该初始化为true还是false?

发布2014-05-19浏览20275次

详情内容

        布尔变量应该初始化为true还是false?  貌似从来没有人这样问过。我先给出我自己答案吧: 为了安全起见, 最好初始化为false.

        先看下面的代码:

  1. #include <iostream>
  2. using namespace std;
  3. bool fun()
  4. {
  5. bool b = true;
  6. /*
  7. 业务代码;
  8. */
  9. return b;
  10. }
  11. int main()
  12. {
  13. if(fun())
  14. {
  15. cout << "ok" << endl;
  16. }
  17. else
  18. {
  19. cout << "not ok" << endl;
  20. }
  21. return 0;
  22. }

      如果业务代码出现异常(假设没执行), 那么fun函数的返回就是true了, 这样调用者会被误导。 相反, 如果初始化为false,  如果业务代码(假设没执行), 那么fun函数就会返回false, 这会引起调用者的注意。


     这涉及到一个虚警和漏检的概念, 虚警不可怕, 大不了虚惊一场。喊狼来啦, 哪怕是假的, 无非就是浪费功夫白白地多逃跑几次而已。 但是, 漏检就危险了, 最终会被狼吃掉的。



相关技术文章

最新源码

下载排行榜

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载