类型推导可以在编译的时候自动识别对象类型,以简化代码,更好地使用模板编程,auto可以自动推导类型明确的变量。
vector<int>::iterator iter = v.begin();
使用了auto类型推导之后,可以简化如下:
auto iter = v.begin();
decltype也可以根据对象识别类型,但用法与auto不同,auto是自动推导出表达式右边的类型,而decltype则是推导任意一个变量的类型,并且可用该类型来定义变量。
int a; decltype(a) b = 5;