auto根据表达的数据,自动识别类型;也可以推导函数的返回类型
auto y=12.34;//自动将y识别成double
int (*pfun)(int,int)=add;//名为add,传递参数为两个整型的函数
auto x=add;//推导函数的返回类型
相当于万金油,指向什么类型就是什么类型,简化了对类型的定义。
需注意的是它是根据实体推导类型,而不是根据类型推类型(类型已知没有推导的必要)
//Mul是类名
auto z=Mul();//正确,根据实体推导类型
auto z=Mul;//错误
auto在容器中应用较多,用于提取容器里的元素类型
for(int i=0;i<10;i++)
{
ar.push_back(i);
}
for(auto x:ar)//构造
{
cout<<x<<endl;
}
for(auto &y:ar)//不用构造
{}
缺陷:代码阅读和跟踪识别能力变差,且只能顺序抽取