c++ - 从转换后的容器元素创建离散分布

标签 c++ iterator c++17

假设我们有一个 std::vector<T> vT是一个具有成员函数的类 U T::f() const , 其中U可转换为 double .我想创建一个 std::discrete_distribution<> d(/* v[0].f(), ..., v[v.size() - 1].f() */) .如果不创建包含值 v[0].f(), ..., v[v.size() - 1].f() 的新容器,这是否可能? ?

最佳答案

类似于 boost::transform_iterator可以做到这一点。您只需要从 vector 的迭代器创建它们。

关于c++ - 从转换后的容器元素创建离散分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52297521/

相关文章:

c++ - 将 .cpp 文件编译为程序内部的 EXE(EXE 文件)

c++ - 迭代 vector 对以绘制线条的问题

loops - 如何以函数式风格迭代二维向量?

c++ - 在这种情况下如何删除 vector 元素?

rust - 如何在for循环中从迭代器中获取多个值?

c++ - 为什么静态内联变量需要 "inline"?

c++ - 是否可以禁用关于用户定义文字中缺少下划线的 GCC 警告?

C++ 单例实现 - 静态问题

c++ - 结构化绑定(bind)中缺少类型信息

c++ - 如何为静态常量模板化专用整数值分配存储