C++作为一种C语言的升级版本,可以为开发人员带来非常大的好处。我们在这篇文章中将会针对C++遍历集合的相关概念进行一个详细的介绍,希望大家可以从中获得一些帮助,以方便自己的学习。
在Java中,常见的遍历集合方式如下:
- Iterator iter = list.iterator();
- while (iter.hasNext()) {
- Object item = iter.next();
- }
也可以使用for
- for (Iterator iter = list.iterator(); iter.hasNext()) {
- Object item = iter.next();
- }
JDK 1.5引入的增强的for语法
- List list =
- for (Integer item : list) {
- }
在C#中,遍历集合的方式如下:
- foreach (Object item in list)
- {
- }
其实你还可以这样写,不过这样写的人很少而已
- IEnumerator e = list.GetEnumerator();
- while (e.MoveNext())
- {
- Object item = e.Current;
- }
在C# 2.0中,foreach能够作一定程度的编译期类型检查。例如:
- IList< int> intList =
- foreach(String item in intList) { } //编译出错
在C++标准库中。for_each是一种算法。定义如下:
- for_each(InputIterator beg, InputIterator end, UnaryProc op)
在C++遍历集合中,由于能够重载运算符(),所以有一种特殊的对象,仿函数。
- template< class T>
- class AddValue {
- private:
- T theValue;
- public:
- AddValue(const T& v) : theValue(v) {
- }
- void operator() (T& elem) const {
- elem += theValue;
- }
- };
- vector< int> v;
- INSERT_ELEMENTS(v, 1, 9);
- for_each (v.begin(), v.end(), AddValue< int>(10));
以上就是对C++遍历集合的相关介绍。
【编辑推荐】