21xrx.com
2024-09-20 06:03:51 Friday
登录
文章检索 我的文章 写文章
C++11 中的 foreach 循环
2023-07-07 17:12:39 深夜i     --     --
C++11 foreach循环 迭代器 范围for循环 lambda表达式

C++11 中引入了许多新特性,其中包括 foreach 循环。foreach 循环可以让我们更加轻松地遍历数组、容器或其他可迭代的数据结构。

传统的 for 循环经常用于遍历数组或容器,不过语法有些冗长。foreach 循环则更加简洁,可以让代码更加易读和易懂。

foreach 循环的语法如下:


for (auto& item : container)

  // 执行操作

其中,auto 是 C++11 新引入的一种类型推断机制。它能够自动推断出变量的类型,让代码更加简洁。item 是变量名,代表每个元素的引用。container 是类型为数组、容器或其他可迭代数据结构的变量名。

举个例子,假设我们有一个 vector,里面存储了一些字符串:


std::vector<std::string> words = {"hello", "world", "from", "C++11"};

我们可以使用 foreach 循环来遍历这个 vector,输出其中的每个字符串:


for (auto& word : words)

  std::cout << word << " ";

输出结果是:


hello world from C++11

从输出结果可以看出,我们成功地遍历了 vector,并打印出了其中的每个字符串。

除了使用 auto 类型推断之外,我们也可以指定变量类型,如:


for (std::vector<int>::iterator it = vec.begin(); it != vec.end(); ++it)

  // 执行操作

然而,这种写法较为冗长,而且不容易理解,所以我们更推荐使用 auto 类型推断。

总之,C++11 中的 foreach 循环为我们提供了一种更加简洁、易读的遍历数组、容器或其他可迭代的数据结构的方式。它减少了代码的冗长程度,同时也提高了代码的可读性。

  
  

评论区

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