C++默认初始化和值初始化、 直接初始化和拷贝初始化

本文详细介绍了C++中的默认初始化、值初始化、直接初始化和拷贝初始化。默认初始化可能导致未定义的值,值初始化则确保对象具有确定的初始状态。值初始化常见于数组部分初始化、静态变量定义和显式请求。默认初始化常发生在块作用域内的非静态变量定义及类的默认构造。直接初始化直接调用构造函数,而拷贝初始化涉及临时对象和拷贝构造函数的应用。
摘要由CSDN通过智能技术生成

默认初始化和值初始化一一对应

前提知识
声明: 在环境/上下文中指定一个变量的名字。也就是说,声明仅仅是让编译器知道,而没有实际分配空间。

初始化:给一个声明后尚未初始化的变量一个有意义的初始值。

赋值 : 销毁一个变量原来的值,并赋予一个新值。相当于改变了一个变量的状态。

默认初始化:

对象可能产生未定义的值(是否绝对尚待确定,例如类类型(定义了默认构造函数)的默认初始化是否属于值初始化等)。

值初始化:

对象的值是确定(预设)的。

值初始化出现场景:

1.数组初始化时初始值数量小于维度,剩下的元素会进行值初始化;

{
    int array[10] = {
   1, 
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值