C++类构造函数初始化列表

  //以前学习中很模糊的一些概念  结构函数初始化列表以一个冒号开始, 接着是以逗号分隔的数据成员列表, 并没有停止显式的初始化。 推荐使用类结构函数初始化列表。 成员类型是没有默认结构函数的类。 若没有提供显示初始化式, 则编译器隐式使用成员类型的默认结构函数,   //结构函数初始化列表  //结构函数外部赋值  初始化数据成员与对数据成员赋值的含义是什么?有什么区别?  首先把数据成员按类型分类并分状况阐明:  1. 内置数据类型, 复合类型(指针, 在功能和结果上都是一样的  2. 用户定义类型(类类型)  结果上相同, 但是功能上存在很大的差异。 也就是说在成员初始化列表处停止结构对象的任务, 在进入函数体之后, 停止的是对曾经结构好的类对象的赋值, 又调用个拷贝赋值操作符才干完成(假设并未提供, 则使用编译器提供的默认按成员赋值行为)  初始化列表的成员初始化顺序:  C++初始化类成员时, 是依照声明的顺序初始化的, 而不是依照出现在初始化列表中的顺序。 最初它们有相同的值。 但是编译器先初始化m_x, 因为它们是按这样的顺序声明的。 结果是m_x将有一个不可预测的值。 一个是总是依照你希望它们被初始化的顺序声明成员, 假设你决议使用初始化列表, 总是依照它们声明的顺序罗列这些成员。 这将有助于消弭混淆。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值