力为的技术博客

联系 聚合 管理
  154 Posts :: 1 Stories :: 561 Comments :: 0 Trackbacks
一个布尔变量,无论是成员变量还是全局局部变量,加入定义的时候未初始化,其值是true 还是 false?

-----------------------------------------
变量未初始化,其初始值为未定义的。
在debug版本,vs会设置为oxccccccc或ox0000000。但release版本其值跟上下文相关,可以说是未定义的。

------------------------------------------
道理是懂的,写代码的时候有时候还是会忘记。

最近有一程序在Win7和XP下的行为不一致,发现是由于bool变量为初始化即用所致。在Win7下行为一直是正确的,而在XP下时而正确,时而错误。还怀疑VS2010在xp下存在bug o(︶︿︶)o  经过几番周折,终于查到原因。
posted on 2011-04-16 22:39 力为 阅读(2827) 评论(2)  编辑 收藏 引用 所属分类: 4. C++ FAQ

评论

# re: 布尔变量初始值 2011-04-17 11:05 bbxyard
楼主 可以研究一下 静态源码 检查工具 "PC Lint"
转载2个链接:
http://bbs.chinaunix.net/thread-1762815-1-1.html
http://wenku.baidu.com/view/c4f73afa770bf78a652954d1.html
  回复  更多评论
  

# re: 布尔变量初始值 2011-04-20 11:36 10趣网
进来学习了,感谢楼主的分享  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理