概括
我第一次看到auto时,想到的是automatic,自动的。
其实顾名思义,auto就是这个意思。auto就是根据你为变量赋的值,来自动为变量做类型转换的关键字
auto的用法
干说感觉不太行啊,举个小栗子吧~
比如我们要遍历一个向量
//一般写法
vector<int> a;
vector<int>::iterator it;
for(it=a.begin();it!=a.end();it++)
{
//;
}
//auto写法
vector<int> a;
for (auto i = a.begin(); i != a.end(); i++)
{
//;
}
其他举例:
auto a=5.0,b=10,c='b';
//默认a是float型,b是整形,c是char型
auto的优点
auto的自动类型转换在编译期起作用,所以使用auto的时候并不会延长运行时间,哈哈哈,听起来很不错的样子鸭~
但是一般情况下,不建议使用auto,因为一般情况下标明变量类型会使代码更加清晰可读。
auto的注意事项
1.auto变量在声明时必须初始化,否则不能识别变量的类型
2.auto不能被声明为返回值
3.auto不能用作函数参数
4.auto不能用作模板参数
5.auto只是一个处理符,因此不能用来动态分配内存,不能进行sizeof操作
lmy加油鸭,冲冲冲