【发布时间】:2020-04-17 20:26:17
【问题描述】:
如何使用 c++ 的算法库和迭代器库来实现相同的目标?
std::vector<float> transformVectorOfVec3ToVectorofFloats(const std::vector<vector3> & p_vec3Vector)
{
std::vector<float> l_floatVector;
l_floatVector.resize(p_vec3Vector.size());
for(auto m_vec3 : p_vec3Vector)
{
l_floatVector.push_back(m_vec3.x);
l_floatVector.push_back(m_vec3.y);
l_floatVector.push_back(m_vec3.z);
}
}
类似的东西
//std::transform(p_vec3Vector.begin(), p_vec3Vector.end(), l_floatVector.begin(), []()->float); ???
vector3 只是一个具有 3 个浮点成员变量的类。
【问题讨论】:
-
我知道有人会有更好的解决方案,但您可以使用
std::accumulate在一行代码中返回新向量。