1. 只说区别 a.const类成员只能使用初始化列表的方式 b.自定义类的类型的变量初始化,尽量采用初始化列表的方式。避免类的构造+类的拷贝的双重代价。初始化列表只涉及成员变量类的构造 //自定义类型a //构造函数内对m_a的赋值 class test { test(class a) { m_a = a;//构造 + 拷贝 } } //初始化列表对m_a的赋值 class test { test(class a):m_a(a) //构造 { } }