📜  c++ loop trthought object - C++ (1)

📅  最后修改于: 2023-12-03 14:39:50.030000             🧑  作者: Mango

C++ Loop Through Object

循环遍历对象在C ++中是一个常见的任务,特别是当我们需要执行某些操作,比如打印所有对象属性或计算它们的总和等。 在本文中,我们将讨论如何在C ++中循环遍历对象,以及常见的迭代器和范围的使用。

迭代器

迭代器是指向容器(例如数组,向量,列表等)中元素的指针的类。 C ++中有不同类型的迭代器,包括正向迭代器,逆向迭代器和随机访问迭代器。 迭代器通常用于循环,以便我们可以逐个访问容器中的元素。

下面是一个使用正向迭代器循环遍历标准向量的示例:

#include <iostream>
#include <vector>
using namespace std;

int main() {
  vector<int> nums = {2, 4, 6, 8};
  for (auto it = nums.begin(); it != nums.end(); ++it) {
    cout << *it << endl;
  }
  return 0;
}

在上面的示例中,我们首先创建了一个名为nums的向量,其中包含四个整数。 使用auto关键字,我们将迭代器it初始化为nums.begin(),即指向nums中第一个元素的指针。 我们使用循环遍历容器中的所有元素,并使用* it访问元素的值。

范围

C ++ 11引入了一种新的语法,称为范围for循环。 这种语法使代码更加简洁,易于阅读,并提供了一种简化循环遍历对象的方法。 与使用迭代器不同,范围for循环的语法非常相似于foreach语句。

下面是一个使用范围for循环遍历标准向量的示例:

#include <iostream>
#include <vector>
using namespace std;

int main() {
  vector<int> nums = {2, 4, 6, 8};
  for (int num : nums) {
    cout << num << endl;
  }
  return 0;
}

在上面的示例中,我们使用范围for循环遍历nums中的所有元素。 我们可以使用与迭代器相同的方式访问当前元素,并通过简单地指定容器名称和迭代变量来遍历该容器。

总结

在C ++中循环遍历对象是一项重要且常见的任务。 迭代器和范围是用于遍历容器对象的两种流行方法。 我们可以根据要求选择使用其中一种或两种方法,以便有效地遍历和操作对象。