C20使用std::ranges::for_each遍历数组
时间: 2024-09-30 07:02:36 浏览: 45
ST7920c20控制器
C++20引入了`std::ranges`库,它提供了一种新的方式来处理范围(Ranges),包括数组。`std::ranges::for_each`函数用于对范围内的每个元素应用一个操作。对于数组,你可以这样做:
```cpp
#include <ranges>
#include <iostream>
int arr[] = {1, 2, 3, 4, 5};
void print_element(int value) {
std::cout << "Element: " << value << '\n';
}
int main() {
// 使用std::ranges::for_each遍历数组
std::ranges::for_each(arr, arr + sizeof(arr) / sizeof(arr[0]), print_element);
return 0;
}
```
在这个例子中,`arr`是一个整数数组,`arr + sizeof(arr) / sizeof(arr[0])`计算出数组的有效迭代结束位置(即最后一个元素的下一个位置)。`print_element`函数会被依次应用于数组中的每一个元素。
阅读全文