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

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

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

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

相关文章:

  • 2021-06-08
  • 2021-10-20
  • 2022-03-04
  • 2021-11-19
  • 2021-06-21
  • 2021-06-06
  • 2021-06-23
  • 2021-07-19
猜你喜欢
  • 2021-12-06
  • 2021-09-17
  • 2022-02-07
  • 2021-12-28
  • 2021-12-06
  • 2022-02-14
  • 2021-11-12
相关资源
相似解决方案