Shi*_*bli 0 c++ struct function vector
我有一个结构:
struct myStruct {
// there are other members as well
float U, V, W;
}
std::vector <myStruct> myVec;
myVec.resize(num);
Run Code Online (Sandbox Code Playgroud)
我想只将myVec [].U传递给所有myVec函数.
将一对迭代器传递给函数:
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 ...
};
Run Code Online (Sandbox Code Playgroud)
然后your_function
可以迭代浮点数.