C++初始化列表

  • 什么是初始化列表
    初始化列表是一种C++初始化列表,有初始化阶段和计算阶段两个阶段。与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。从概念上来讲,构造函数的执行可以分成两个阶段,初始化阶段和计算阶段,初始化阶段先于计算阶段。
    在构造函数中对成员的操作是赋初值不能称他为初始化。因为初始化只能进行一次,而构造函数体内可以给成员多次赋值。

  • 初始化列表的注意事项
    1)每个成员在初始化列表中只能出现一次
    2)初始化列表只能初始化类内的数据成员,并不能指定这些成员的初始化顺序,类内的数据成员的定义顺序就是初始化列表中的初始化顺序。
    3)尽量避免使用成员初始化成员,成员的初始化顺序最好和成员定义顺序一致。
    4)类内出现以下成员一定要放在初始化列表的位置进行初始化

    • 引用成员变量

    • const成员变量

    • 类的类型成员( 该类有非缺省的构造函数)

    代码样式:(以日期类为例)

  class Date{
  public:
      Date(int year,int month,int day)
          :_year(year)
          ,_month(month)
          ,_day(day)
      {}
  private:
      int _year;
      int _month;
      int _day;
  };
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值