credit to zdd
e.g.
struct foo
{
string name ;
int id ;
foo(string s, int i):name(s), id(i){} ; // 初始化列表
};
构造函数的冒号后即位初始化列表.
初始化阶段 所有类类型的成员都会在初始化阶段初始化,即使该成员没有出现在初始化列表里 若使用初始化列表赋值,则可以直接跳过类成员初始化而直接用赋值
计算阶段 一般指构造函数体内给成员变量赋值
e.g.
Template<class ... T>
void func(T ... args)
{
cout << "num is " << sizeof ... (args) << endl;
}
其中
args叫做函数参数包 省略号在右边意味着展开参数 如
func(T ... args) # 相当于将T展开指args
形式:[capture] (params) mutatble -> return-type {statement}
Hosted on GitHub Pages — Theme by orderedlist