【博客44】"初始化列表赋值" 优于 "构造函数内赋值"
内容: 记录下,在使用类的构造函数初始化类对象时,使用初始化列表来初始化会好一点,比在构造函数里面初始化更好。
情况一:不使用初始化列表
分析:此时会先完成对b对象的初始化,b中的a成员会先赋值给一个默认值,接下来再A的构造函数里面对其值进行覆盖。
情况二:使用初始化列表
分析:此时会将value这个值直接传递给b的构造函数,此时b对象的构造函数一开始就是使用value来赋值给a成员,后续不需要对其值再进行覆盖。这里只是简单情况,如果B类里面是有类成员的情况下,这样作更是正确的,因为可以省掉一次对operator=的调用。C++会在构造函数体进入之前把初始化列表指定的成员先构造完成。
大三学生一枚,文章均非抄袭或者模仿,均为原创,仅代表个人观点,如果文章有错误的地方,欢迎在下方提出,每条评论我都会去认真看并回复,同时感谢指正的前辈。