一个相当愚蠢的概念错误

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

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

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

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

原文地址:https://www.cnblogs.com/lookof/p/1595143.html