C++ 的auto关键字
C中的auto关键字没啥大用,因为它是用于显式地说明变量是自动存储类型的,但是auto又只能用于默认就是自动存储的局部变量,即函数中定义的变量和函数的参数,所以·····emmmm,很尴尬的工作,大家根本不鸟他。
比如:
int ft(int x)
{
auto int a;//用不用auto, a都是自动变量
}
C++看出了auto的尴尬,于是需要有新工作的时候就没有引入新的关键字,直接赋予了auto新的使命,并不让他再做C中的工作(有点内部员工优先晋升的感觉),即C++里auto并不可以用于显式说明局部自动变量是局部自动变量了.
- 自动类型推断
C++11给auto新增的使用方法:在函数模板中,当返回值类型不确定时,可以用auto作为返回值类型的占位符,并在函数原型中,参数的后方写后置返回类型。
如auto ft(int x, double y) -> float;
//还可以和decltype合作
auto ft1(int x, float y) ->decltype(x + y);
还没有评论,来说两句吧...