从 range-v3 视图中采样单个元素并存储值

问题描述

我正在尝试使用 range-v3 库创建一个单行,以从向量中采样单个元素并将结果直接保存在 value_type 对象中。我可以分两步完成,如下所示,但我想知道是否可以在一行中完成。

尝试 int value = *ranges::begin(my_vec | ranges::views::sample(1)); 似乎不起作用。

#include <iostream>
#include <vector>

#include <range/v3/range/conversion.hpp>
#include <range/v3/view/sample.hpp>
#include <range/v3/view/iota.hpp>
#include <range/v3/range/operations.hpp>
#include <range/v3/range/access.hpp>

int main()
{
    std::vector<int> my_vec = ranges::view::iota(-10,11) | ranges::to_vector;
    auto sampled = my_vec | ranges::views::sample(1);
    int value = *ranges::begin(sampled);

    std::cout << value << std::endl;
    
    return 0;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...