C++11 重新定义了auto 和 decltype 这两个关键字实现了类型推导,让编译器来操心变量的类型。
auto
auto i = 5; // i 被推导为 int
auto p = new auto(10) // arr 被推导为 int *
//但是auto不能作用在数组上
auto arr1[10] = { 0 }; //错误
auto arr2= {0}; //正确
基于范围的for循环:
vector<int> vec = { 1,2,3,4,5 };
//配合auto使用
for(auto i : vec)
{
cout << i << endl;
}
decltype
// int j
decltype(i) j = 10;//根据10推导出i的类型
网友评论