c++中 foreach用法
时间: 2023-11-20 13:14:22 浏览: 136
在C++中,没有直接的foreach循环,但可以通过不同的方法来实现类似的功能。其中一种方法是使用C++11引入的auto类型推导和std::for_each函数。可以使用以下代码示例来展示这种用法:
#include <algorithm>
#include <iostream>
#include <vector>
void func(int n) {
std::cout << n << std::endl;
}
int main() {
std::vector<int> arr;
arr.push_back(1);
arr.push_back(2);
std::for_each(arr.begin(), arr.end(), func);
return 0;
}
这段代码使用了std::for_each函数来对数组中的每个元素执行func函数。func函数是一个自定义的函数,用于在控制台输出元素的值。通过这种方式,我们实现了类似foreach循环的功能。
此外,在C++中还有其他实现foreach循环的方法。其中一种方法是使用宏定义。通过使用宏定义,我们可以定义一个名为foreach的宏,然后使用它来遍历容器的元素。以下是使用宏定义实现foreach循环的示例代码:
#define foreach(container, it) \
for (typeof((container).begin()) it = (container).begin(); it != (container).end(); it++)
// 输出
foreach(arr, it) {
std::cout << *it << std::endl;
}
这段代码定义了一个名为foreach的宏,可以在遍历容器的过程中输出元素的值。
总结起来,C++中没有直接的foreach循环,但我们可以通过使用C++11中的类型推导和std::for_each函数,或者使用宏定义来实现类似的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [c++中的那些foreach循环](https://blog.csdn.net/xiong_min/article/details/87859214)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文