提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言:其实我并不建议经常使用auto,它在带来便利的同时也带来了麻烦,试想如果整个代码下来全是auto,那么你可能会找不到其数据类型具体是什么,但是我们可以使用auto来代替冗长复杂、变量使用范围专一的变量声明,例如模板的遍历等等。
提示:以下是本篇文章正文内容,下面案例可供参考
一、auto的用法
1.数据初始化
2.函数调用
3.配合模板使用
有关代码如下:
#include<iostream>
#include<vector>
using namespace std;
double test01() {
return 1.111;
}
int main()
{
//1.初始化
auto a = 0; //a的数据类型就是int
cout << "a=" << a << endl;
//2.函数调用
auto b = test01(); //b的数据类型就是double
cout << "b=" << b << endl;
//3.模板
vector<int>v;
for (int i = 0; i < 10; i++)
v.push_back(i);
for (auto i = v.begin(); i != v.end(); i++)//auto默认i就是容器数据类型
cout << *i << " ";
cout << endl;
system("pause");
return 0;
}
二、注意事项
我们在定义变量时,不用auto可以不用初始化,但使用auto必须初始化
//auto a; 1.定义变量必须初始化
定义自定义类型时,不管是结构体还是类,都不能作为成员变量(初始化也不行)
/*struct test02{
auto a=10; 2.不能作为一个自定义类型的成员变量
};*/
任何类型以及任何种类的数组都不能用auto定义
//auto arr[4]={1,2,3,4}; 3.不能是auto数组
实例化可以是数据类型,也可以是类或者自定义类型等等,但不可以是auto
//vector<auto> v; 4.模板实例化类型不能是auto类型