Lookof 's Wild

Last of the Wild

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

今天和同事讨论问题时,犯了一个相当愚蠢的错误。说它“相当愚蠢”是因为,我竟然一直以为它是对的。为此还信心满满地和同事打赌,其惭愧之下场结果可想而知…

在C++中,一个内置类型(int,float ,…)变量(即基础变量)在未初始化的情况下,默认值是什么呢?而一个相应的指针呢?长期以来我对此的理解是:对于变量,未初始化的默认值都是0;而对于指针,未初始化的默认值都指向垃圾内存,也就是随机值。

但正确的理解是:无论是指针还是基础变量,如果不是global或者static,那么在没有初始化的情况下,一律都是垃圾值。只有在global和static的情况下,才默认为零值(指针和变量都如此)。

菜鸟只能永远是菜鸟……吗

posted on 2009-11-03 12:27  lookof  阅读(422)  评论(3编辑  收藏  举报