不定模版参数
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) {}
这样是可以共存的
 
                        
                        