C++11特性:auto关键字与基于范围的for循环
2017-04-27 18:52
253 查看
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()方法,且返回该方法返回迭代器的类对象。
相关文章推荐
- C++11特性--基于范围的for循环,新的STL容器,新的STL方法( cbegin(),cend(),crbegin(),crend())
- c++11的一些特性auto和范围for循环
- C++11 新特性(6) 基于范围的for循环
- c++11的新特性---基于范围的for循环
- c++11的一些特性auto和范围for循环
- C++11新特性-基于范围的for循环
- C++11 基于范围的for循环
- C++11特性:auto关键字
- C++11特性——基于范围的for语句
- 【C++11新特性】 auto关键字
- C++11新特性:范围for循环和lambda表达式
- c++11 新特性之 auto关键字
- 【C++11新特性】 auto关键字
- C++11新特性之基本范围的For循环(range-based-for)
- C++11常用特性学习-易学易用新特性(>>/auto/decltype/范围的for)
- C++11:基于范围的for循环、静态断言
- 基于范围的for循环(C++11)
- C++11特性(01)auto关键字
- C++11基于范围的for循环
- C++11特性:auto关键字