先上结论
使用初始化列表主要基于性能问题。
- 对于内置类型,初始化列表与构造函数几乎无差异
- 对于类类型(特别是复杂类型),由于使用初始化列表少调用了一次默认构造函数的过程,对数据密集型的类来说,是非常高效的!。
代码实例
针对于类类型,来证明【初始化列表少调用了一次默认构造函数】
#include <iostream>
using namespace std;
class AA
{
public:
AA()
{
std::cout << "AA: default constructor" << std::endl;
}
AA(