auto与decltype都是C++11中新引入的类型说明符。
1 auto的用法
使用类型说明符auto,实际上就是让编译器来分析表达式所属类型,所以auto定义的变量必须有初始值。
auto i = 1;
此时编译器会推断变量i的类型是int。
2 decltype的用法
decltype的用法请参考《C++中decltype的使用方法》。
3 auto、decltype与数组的使用
3.1 auto与数组
整型数组a的定义如下:
int a[] = { 1,2,3,4,5 };
使用auto与a来定义另外一个变量
auto b(a);
此时编译器将b的类型判断为整型指针,所以可以有如下代码
b = &a[1];
3.2 decltype与数组
使用decltype与a来定义另外一个变量
decltype(a) c;
此时编译器将c的类型判断为含有5个元素的整形数组,所以可以有如下代码
c[1] = a[1];