c++primer,262页,7.5.3节,默认构造函数的作用讲到,默认初始化,当我们在块作用域内不使用任何初始值定义一个非静态变量时,发生默认初始化,我的问题是在块作用域外不也是默认初始化吗,为什么要强调在块作用域内?
还有,未被显式定义的话,内置类型在函数体内部是不是默认初始化?第40页讲到,这样的情况是不被初始化,那不被初始化是不是默认初始化的一种?我看百度上讲的也糊里糊涂,有人说不被初始化不属于默认初始化,我看这样讲是错的,默认初始化和值初始化都讲不明白,每个概念都要靠猜,一句话讲明白的几个小时都搞不懂,这书的概念讲的真是太烂了,理解不了可以慢慢看,东西是什么都不讲明白没法看

默认初始化:当我们在块作用域内不使用任何初始值定义一个非静态变量时
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- hfhua 2022-03-03 11:03关注
首先是存储方式不一样。其次 你每次用类新建对象时,普通变量都要重新初始化,而static的变量是所有对象共有的属性,如果在一个对象中改变static,其他对象中该变量也会改变,而普通变量是属于各自对象(也就是说每个对象都有各自的值)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报