c++ - 从转换的容器元素创建离散分布
问题描述
假设我们有一个std::vector<T> v
并且T
是一个具有成员函数的类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
可以做到这一点。您只需要从向量的迭代器中创建它们。
推荐阅读
- matlab - 将向量拆分为子向量 MATLAB
- php - 在 PHP 中将数据存储在全局变量中
- svg - 我可以创建一个遵循 svg 中现有线的圆圈吗?
- mongodb - Mongodb展开数组
- deep-learning - Pytorch/cuda:CPU 错误和 map_location
- python - python中的googleapiclient,使用updateContact返回403
- android - 如何删除 Jetpack Compose OutlinedTextField 上方的额外填充?
- c - 在 C 中读取文件的一部分
- file-upload - 有条件地使用 HttpObjectAggregator
- php - 我的 php 类函数中的非法偏移类型