C++11特性:auto关键字与基于范围的for循环

auto

auto关键词在c++98中就有过,用来定义变量为自动生命周期,完全是鸡肋,因为不用auto变量本来就是自动生命周期啊,所以c++11中,auto的用法改变了,简单来说它的作用就是声明变量时可以根据变量类型自动推断类型。类似于java中的var。
例如

int a = 0;//auto只能识别初始化的变量。
auto b = a;//b被推断为int。

但是auto的出现是为了解决一些变量定义时类型名过长的情况,而不是上面这种情况,简单的类型名直接给出可以使代码更加清晰。例如使用迭代器的时候就可以使用auto。

vector<int> v;
auto I = v.begin();

基于范围的for循环

直接给出一段代码

vector<int> vec;
vec.push_back(1);
vec.push_back(2);
for (int x: vec)
{
    cout << x << endl;
}

这样就可以做到对vector里的整型进行遍历。减少了代码量。
可以遍历的对象包括数组和定义了begin()和end()方法,且返回该方法返回迭代器的类对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值