- 首先这个问题也是组内的编码规范在讨论这个问题,我发现有些人对这还不太清楚 这里就说一下
什么是就地初始化?
这就是成员变量就地初始化, c++11 才支持的哦, c++98会编译失败
什么是初始化列表?
构造函数的初始化列表就是这个
1.它的时机在构造函数体之前
2.它的初始化顺序与初始化列表顺序无关,与.h 声明的顺序有关
时机的优先级
就地初始化 > 构造函数的初始化列表 > 构造函数这里可以写个demo 试一下就知道了,没有必要说了
这个时机也是c++的标准规范, 有兴趣的可以了解一下
反正我个人是比较喜欢 就地初始化,很明显,而且不会因为出现多种重载的构造 ,都要加初始化列表的问题,容易搞乱
最好不要混用, 因为你写了个就地初始化为1, 后面维护的初始化列表写了个0, bug就出来了 可能还不关注这里,然后…
https://en.cppreference.com/w/cpp/language/initialization
https://en.cppreference.com/w/cpp/language/data_members#Member_initialization



