c++0x中废除了原来c++中auto关键字的意义,赋予了它新的功能--自动类型识别。类似于c#中的var关键字。
例如:
auto i=5;//int
auto *p=&i;//int*
auto d=5.0;//double
auto sum=i+d;//sum为double
当类型很难写时
for(vector<int>::iterator it=vecInt.begin();it!=vecInt.end();++it)
{
//...
}
可以写成
for(auto it=vecInt.begin();it!=vecInt.end();++it)
{
//...
}
当类型难以知晓时
template<class T,class U>
auto sum(T a,U b) ->decltype(T+U)
{
return a+b;
}</