有关初始化的一些问题

变量定义指定了变量的类型和标识符,也可以为对象提供初始值,定义时指定了初始值的对象被称为是已初始化的,C++支持两种初始化变量的形式:复制初始化、直接初始化:

int a(1024); // 直接初始化

int a=1024;     //复制初始化

注意:初始化不是赋值(初始化指创建变量并给他赋初始值,而赋值则是擦出对象的当前值并用新值来替代),在C++中这是两种不同的操作,这个概念特别容易误导人;

另外:当初始化类类型对象时,复制初始化和直接初始化之间的关系是很微妙的(之后再说)。

附:

1、内置类型变量的初始化:在函数体外定义的变量都初始化为0,在函数体内定义的内置类型变量不进行自动初始化。所以,建议每个内置类型的对象都要初始化,虽然这样做未必都是有必要的,但会更加容易和安全;

2、类类型变量的初始化:每个类都定义了该类型的对象可以怎么初始化。类通过定义一个或者多个构造函数来控制类对象的初始化,如果定义某个类的变量时没有提供初始化,这个类也可以定义初始化时的操作,它是通过定义一个特殊的构造函数即默认构造函数来实现的。大多数类都提供了默认构造函数,但还是有些类没有提供默认构造函数,那么就需要我们提供显式的初始化,没有初始值是根本不可能定义这种类型的变量的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值