1.C++中auto的使用
1.1auto简介
auto是一个C/C++语言存储类型,仅在语句块内部使用,初始化可为任何表达式,其特点是当执行流程进入该语句块的时候初始化可为任何表达式。C语言中提供了存储说明符auto、register、extern、static说明的四种存储类别。四种存储类别说明符有两种存储期:自动存储期和静态存储期。其中auto和register对应自动存储期。具有自动存储期的变量在进入声明该变量的程序块时被建立,它在该程序块活动时存在,退出该程序块时撤销。在函数内部定义的变量成为局部变量。在某些C语言教材中,局部变量称为自动变量,这就与使用可选关键字auto定义局部变量这一作法保持一致。
1.2auto简单使用
1.2.1自动推断变量类型
auto tnumber = 9;
auto tchar = 'a';
auto tstring = "li";
auto tauto = tnumber + 1;
cout << tnumber << endl;
cout << tchar << endl;
cout << tstring << endl;
输出
9
a
li
10
1.2.2 for循环中的运用
for循环输出vector<int>
vector<int> testNumber = { -2,0,0,2,2,1,-1,4,-5,3,5 };
for (auto outNumber : testNumber)
{
cout << outNumber << ", ";
}
输出
-2, 0, 0, 2, 2, 1, -1, 4, -5, 3, 5
for循环输出vector<vector<int>>
vector<vector<int>> total;
for (auto num: total)
{
for (auto tNum : num)
{
cout << tNum << ",";
}
cout << endl;
}
输出
-5, 0, 5,
-5, 1, 4,
-5, 2, 3,
-2,-1, 3,
-2, 0,-2,
-1, 0, 1,