auto
- auto
- 与for结合
- begin(),end()说明
auto
- c++11标准引入auto类型说明符
- 必须有初始值
- 通过初始值来推断变量的类型
#include<cstdio>
using namespace std;
int main(){int v1 = 10;auto v2 = v1;printf("v2=%d\n",v2);double v3=10.5;auto v4 = v3;printf("v4=%f\n",v4);return 0;
}
与for结合
- c++11标准引入简单for语句,遍历容器或序列的所有元素
- 语法for(declaration: expression)
- 遍历数组实例
#include<iostream>
using namespace std;
int main(){int num[10]={1,2,3};for(auto v:num)cout<<v<<" ";cout<<endl;return 0;
}
#include<iostream>
using namespace std;
int main(){int num[10]={1,2,3};for(auto &v:num)v=v*2;for(auto &v:num)cout<<v<<" ";cout<<endl;return 0;
}```
* vector中```cpp
vector<int> num = {1,2,3};
for(auto &v:num)v=v*2;
string s="abc";
for(auto &v:s)v=v+1;
begin(),end()说明
- v与vector中的元素绑定,修改v的值即改变其所绑定的值。
for(auto &v:num)v=v*2;
for(auto it=num.begin();it!=num.end();++it)auto &v=*it;v=v*2;