关于C++构造函数初始化顺序

这里主要是说序列初始化成员变量时,存在这样的规则:

1. 先进行序列初始化,再进行构造函数函数体内的赋值等操作。

2. 序列初始化,不是简单的自左至右或自右至左,而是根据成员变量的定义顺序来初始化。

测试代码:

 #include <iostream>
#include <algorithm> using namespace std; class lv
{
public:
lv(int g):g1(g++),g2(g++)
{
g3 = g++;
cout << g1 <<endl;
cout << g2 <<endl;
cout << g3 <<endl;
}
~lv()
{
cout << "bye" << endl;
}
int g3;
int g2;
int g1;
}; int main()
{
lv h(); return ;
}

结果截图:

关于C++构造函数初始化顺序

上一篇:es6 -- 透彻掌握Promise的使用,读这篇就够了


下一篇:Win10更新搜狗输入法后重启输入密码蓝屏