一、auto和decltype是什么?
auto和decltype:都是C++11的关键字,用于变量类型的自动推导
两个使用的场景不一样,灵活性也不一样
auto a = b; //auto的语法格式
decltype(exp) a [= b]; //decltype的语法格式
其中,a 表示变量名,b 表示赋给变量的值,exp 表示一个表达式或者是一个常数或者是一个变量,方括号[ ]表示可有可无。
二、语法结构
1.auto示例
代码如下(示例):
int a=10;
auto b=a;
cout<<"b="<<b<<endl;
运行的结果为:
b=10;
b的数据类型与a相同;
auto的作用就是自动将后面变量的数据类型a赋予前面定义的变量b;
2.decltype示例
代码如下(示例):
int a=10;
decltype(a)b=6.53;
cout<<"b="<<b<<endl;
运行结果为:b=6;
直接将定义时候b的数据类型转化为a的数据类型。