我有一个结构:
struct myStruct {
// there are other members as well
float U, V, W;
}
std::vector <myStruct> myVec;
myVec.resize(num);
我只想将所有 myVec 的 myVec[].U 传递给一个函数。
最佳答案
将一对迭代器传递给函数:
struct pick_U : std::unary_function<myStruct&, float&> {
float &operator()(myStruct &ms) const { return ms.U; }
};
your_function(
boost::make_transform_iterator(myVec.begin(), pick_U()),
boost::make_transform_iterator(myVec.end(), pick_U()),
... other args ...
};
然后 your_function
可以迭代 float 。
关于c++ - 仅将结构的 std::vector 成员传递给函数 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8882161/