C++初始化列表

初始化列表介绍

        顾名思义,初始化列表,即对变量进行初始化操作的一个列表,常见于类的构造函数中,如vector类的一个构造函数初始化列表如下:

 如图我们知道,初始化列表在函数名和大括号之间,以:开始,以,间隔

初始化列表的作用

        首先我们要理解,一个变量在创建出来的过程有两步,第一步是初始化,第二步是赋值。

当我们在构造函数大括号内对于变量进行的操作实际上是赋值操作,跳过了初始化操作,也可以说是没有进行初始化操作。

说到这里,大家就能理解初始化列表的作用,给那些只能初始化不能赋值的变量一个值

适用初始化列表的成员

const成员变量

        学过c语言的人都知道,const赋予了变量常属性,使得变量初始化后不能再进行赋值操作,因此,对于这类变量我们必须使用初始化列表进行赋值,如果没有在初始化列表进行赋值,无法对其进行赋值操作。

引用变量&

        C++对于引用变量的使用是有着规定的,即初始化指定引用对象后,引用对象不可以进行变更,因此,对引用变量来说,它与const相同,只能使用初始化列表进行赋值。

不存在默认构造函数的类对象

相信大家在学习C++类与对象的过程中,也经常看到这个字眼——默认构造函数。

那么,究竟什么是默认构造函数呢。

说简单一点,默认构造函数就是不需要传入参数就能够进行构造的函数,这样的话,默认构造函数就有两种情况:

1.无参数的构造函数

2.所有参数都存在缺省值的构造函数

需要注意的是,编译器生成的类构造是无参数的构造函数。

没有默认构造函数的类对象,必须传入一定数量的值才能够进行构造,因此我们只能在初始化列表中进行自定义传值进行初始化。

初始化列表初始化顺序

需要注意的是,初始化列表的参数顺序并不是从上到下的,而是根据类中成员变量的顺序进行初始化,如果在类中成员变量是 1 2 3 的顺序,即使在参数列表中是  3  2  1  的排列顺序,也会进行  1  2  3  的顺序进行初始化。

以上就是我对于初始化列表使用的一些看法,感谢观看。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值