不定模版参数
template <class T1, class... args>
void test(T1 t, args&... arg){
}
test(1,2,'a','c');
auto
list<string> c;
auto ite = find(c.begin(), c.end(),traget);
//auto声明变量的时候必须就赋值
auto ite; //这行和下一行是不对的
itr = find(c.begin(), c.end(),traget);
or
list<string>::interate ite = find(c.begin(), c.end(),traget);
ranged-base for
for (decl:coll){
statement
}
for(auto elem:vec){ //这每个拿出来赋值到左边
// 右边是容器,左边是输出的每个数
cout << elem << endl;
}
//用引用也行
for(auto& elem:vec){
// 右边是容器,左边是输出的每个数
cout << elem << endl;
}
for (int i:{1,2,3,4,5}){
cout << i;
}
传引用和传value是相同的signature
signature指的是除了返回值类型的余下部分
double image(const double& in) const {}
double image(const double in) const {}
上面两个是相同的,不能同时存在
notes:image() 后的const也是signature的一部分,
double image(const double& in) const {}
double image(const double in) {}
这样是可以共存的