如何使用范围 v3 将矢量转换为新矢量
How do I transform a vector into a new vector using range-v3?
我来自C#世界,在那里我可以写一些东西:
var newList = oldList.Select(x => x * 2).Where(x => x > 3).ToList();
这允许我获取一个列表,以某种方式转换它,并将结果存储在一个新列表中。
我想使用 range-v3 在C++中做同样的事情。我了解转换的工作原理,但是 range-v3 是否提供了类似的"接收器"方法来计算和收集结果?
我正在寻找类似 toVector
的东西,它将计算出新分配的std::vector
的结果范围。
你可以
这样做:
std::vector<int> v2 = v
| ranges::view::transform([](int x) { return x * 2; })
| ranges::view::filter([](int x) { return x > 3; });
演示
或者,如果您更喜欢左侧的auto
:
auto v2 = v
| ranges::view::transform([](int x) { return x * 2; })
| ranges::view::filter([](int x) { return x > 3; })
| ranges::to_vector;
相关文章:
- 如何在C++中将数组转换为矢量指针
- 将矢量<T>转换为矢量<数组<T>>
- 将包含多个元素的字符串作为输入并转换为矢量 C++
- 将 OpenCV-Matrix 转换为矢量
- 在 c++ 中将数字转换为矢量数组的函数
- 如何将具有两个通道的垫子转换为矢量<int><矢量>?
- 类型映射资源并将列表转换为矢量(并返回)
- 如何在OpenCV中存储部分轮廓点喜欢新矢量中的左侧,该类型为<vector<vector<Point>>
- 有没有办法将矢量<Point2f>转换为矢量<Keypoint>?
- 如何将 2D 数组转换为矢量
- 将C++数组强制转换为矢量
- 犰狳:将立方体子视图(管)转换为矢量
- 我需要将阵列样式的邻接矩阵转换为矢量样式(以使其看起来更好)
- 有没有一种优雅的方法可以将矢量<复杂<float>>转换为矢量<short>?
- 在 C++ 中将 int 转换为矢量
- 将 typedef short 转换为矢量(字符)
- 在转换3D矢量时,为什么GLM给出错误的结果
- 使用提升序列化将类对象转换为矢量无符号字符<>
- 将参数包转换为矢量
- 如何使用范围 v3 将矢量转换为新矢量