auto关键字的由来
auto关键字是一个新的类型指示符,其在定义的时候会自动识别类型,使用合适的类型来定义
我们可能会认为,直接用int等定义不就可以了吗,为什么还需要auto呢
我们来看以下场景
我们发现,在C++中的内置类型远远要多于int,double等最基础的类型,所以我们使用auto既可以大大减少代码量,也可以提高代码的正确率
auto的使用
在介绍auto的由来时,我们便已经使用了auto
auto可以直接定义类型,也可以在后面加上指针,但是auto和auto*没有任何区别
不过,使用引用时必须在auto后加上引用标识符&
auto的注意
1.必须初始化
auto在定义一个变量时,并不是一个实际的类型,而仅仅是对这个变量进行了占位,只有在初始化后,auto才会有一个实际的类型。
2.同一行需定义相同类型
auto变量在同一行定义时,必须定义相同的类型,因为编译器只会对第一个类型进行auto推导,然后将推导出的类型用于后面的变量
3.auto无法作为函数的参数
因为auto可以自动识别变量的类型,可能有些人会想到将其置入函数的参数,从而让其自动识别传入的参数,但是很遗憾,编译器并不支持这种想法
4.auto不能用来直接声明数组