【发布时间】:2018-09-12 14:25:49
【问题描述】:
假设我们有一个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() 的新容器,这是否可能?
【问题讨论】:
-
transform_iterator(来自 boost 或 range 库)。 -
如果你可以创建一个transformation iterator
tit,你可以使用d(tit, end(v))。