所以我最近看了这个关于 c++ 的演讲: https ://www.youtube.com/watch?v=mFUXNMfaciE
我非常有兴趣尝试一下。因此,在一些玩具程序之后,我被困在如何正确地将向量向量展平为向量。根据此处的文档:https ://ericniebler.github.io/range-v3/这可以使用ranges::view::for_each
. 但是我似乎无法让它工作。这是一些最小的代码。
#include <range/v3/all.hpp>
#include <iostream>
#include <vector>
int main()
{
auto nums = std::vector<std::vector<int>>{
{0, 1, 2, 3},
{5, 6, 7, 8},
{10, 20},
{30},
{55}
};
auto filtered = nums
| ranges::view::for_each([](std::vector<int> num) { return ranges::yield_from(num); })
| ranges::view::remove_if([](int i) { return i % 2 == 1; })
| ranges::view::transform([](int i) { return std::to_string(i); });
for (const auto i : filtered)
{
std::cout << i << std::endl;
}
}