rzjy123 2022-03-03 10:50 采纳率: 85.7%
浏览 19
已结题

默认初始化:当我们在块作用域内不使用任何初始值定义一个非静态变量时

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

  • 写回答

1条回答 默认 最新

  • hfhua 2022-03-03 11:03
    关注

    首先是存储方式不一样。其次 你每次用类新建对象时,普通变量都要重新初始化,而static的变量是所有对象共有的属性,如果在一个对象中改变static,其他对象中该变量也会改变,而普通变量是属于各自对象(也就是说每个对象都有各自的值)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 3月25日
  • 已采纳回答 3月17日
  • 创建了问题 3月3日

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大