21xrx.com
2024-11-05 16:24:49 Tuesday
登录
文章检索 我的文章 写文章
C++中的foreach循环
2023-07-04 20:05:48 深夜i     --     --
C++ foreach循环 迭代器 集合 自定义类型

在C++中,foreach循环是一种非常方便的循环方式,它可以让我们更轻松地遍历一个集合中的所有元素,而无需手动追踪循环计数器。事实上,foreach循环在C++11标准中得到了内置支持,因此,无论你使用哪个版本的C++编译器,都可以轻松使用这种循环方式。

foreach循环的语法非常简单,它通常有两个参数,一个是集合对象,另一个是当前元素。例如,下面是一个包含5个整数的vector对象,并使用foreach循环输出每个元素的值。


#include <iostream>

#include <vector>

using namespace std;

int main() {

  vector<int> nums = 4;

  for (int num : nums)

    cout << num << endl;

  

  return 0;

}

输出:


1

2

3

4

5

在上面的代码中,我们使用了关键字“for”来声明foreach循环,而遍历的对象是一个名为“nums”的vector对象。在每次循环中,我们将当前元素的值赋给一个名为“num”的整数变量,并使用cout语句输出该变量的值。由于我们使用的是vector对象,而它有5个元素,因此循环将被执行5次。

实际上,foreach循环不仅仅适用于vector对象,它可以用于任何可遍历的集合对象,包括list、set、map等容器。而且,我们还可以利用auto关键字让编译器自动推断我们正在遍历的集合对象的数据类型。例如:


#include <iostream>

#include <map>

using namespace std;

int main() {

  map<string, int> scores {

     90,

    "Bob",

     70

  };

  for (auto [name, score] : scores)

    cout << name << ": " << score << endl;

  

  return 0;

}

输出:


Alice: 90

Bob: 80

Charlie: 70

在这个例子中,我们遍历了一个名为“scores”的map对象,它包含3个元素,每个元素都是一个名字和分数的键值对。在foreach循环中,我们使用了auto关键字来自动推断迭代器对应的数据类型,它分别是一个名为“name”的字符串和一个名为“score”的整数,然后输出了每个键值对的信息。

总的来说,foreach循环是C++中一种非常实用的循环方式,它可以帮助我们更加轻松地遍历集合对象中的所有元素。不论你是使用C++98还是C++11及以上版本,foreach循环都是一种非常值得使用的语言特性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复