我有一个 As with 的容器
struct A { int f(); }
容器提供了迭代器,我们可以在这个例子中假设它是一个 std::vector。所以:
std::vector<A> As;
现在我想将 A::f 提供的值复制到第二个容器中
std::vector<int> fs;
尽管我可以简单地进行迭代,但作为练习,我尝试使用 boost bind / boost 迭代器来解决这个问题。到目前为止,我尝试的是:
std::copy(
boost::make_transform_iterator
(As.begin(), boost::bind(&A::f, _1)),
boost::make_transform_iterator
(As.begin(), boost::bind(&A::f, _1)),
std::back_inserter( fs )
);
任何人都知道如何做到这一点?