c++ - 仅将结构的 std::vector 成员传递给函数 (C++)

标签 c++ function vector struct

我有一个结构:

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/

相关文章:

Javascript 提示变量返回 NaN

javascript - 如何通过引用将属性传递给 javascript 函数?

c++ - std::vector::erase 无效范围

c++ - 将值传递给构造函数的差异语法c++

c++ - 如何覆盖 GCC 的配置以进行包含搜索?

c - Typedef 结构导致程序崩溃

c++ - 如何获取 C++ 类成员 vector 的大小?

c++ - 为什么当程序进入主函数时这个 std::vector 被清除?

C++ 新手 : Passing an fstream to a function to read data

c++ - 是否有一个C++函数可以准确返回内置CPU运算RSQRTSS求平方根倒数的值?