本文主要是介绍内涵:类内初始化与初始化列表与构造函数内部赋值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
好的。首先把构造函数内部赋值这种观念和习惯剔除掉。
因为:1.效率低,它的本质是赋值,不是初始化,c++内部机制事实上已经为成员变量默认初始化了,然后你又在构造函数里面赋了一次值。
2.易错,对于const成员变量,初始化之后就不可以赋值了。
下面比较类内初始化和初始化列表。
相同点:1.从名字就可以看出,两者都是初始化。
不同点:1.如果对于同一个变量,两者同时出现,则以初始化列表为主。
2.如果一个类含有多个构造函数,这个时候使用类内初始化会只用写一次,
3.类内初始化的顺序是隐式的,初始化列表一般要按照较严格的顺序来初始化,否则编译器可能会报警告
4.类内初始化不可以(),只可以{}和=
总结:1.尽量使用初始化列表来为成员变量赋值(注意实质上是初始化)
2.对于类(static)成员变量使用类内初始化
这篇关于内涵:类内初始化与初始化列表与构造函数内部赋值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!