【发布时间】:2016-01-04 00:02:44
【问题描述】:
我正在编写一个使用Tinyobjloader 加载.obj 文件的小型玩具游戏引擎。我使用glm::vecX 存储顶点数据和所有内容以使事情变得更容易。
当我想要一个std::vector<glm::vecX> 时,Tinyobjloader 给了我一个std::vector<float>。不抄袭怎么办?
需要明确的是,glm::vecX 是一个简单的结构,例如包含 float 成员 x, y, z。
我在想,既然结构可以表现得有点像数组,那么std::move 会起作用,但没有运气。
谢谢!
编辑:
我知道我不清楚这一点,对不起。我想将std::vector<float> 移动到std::vector<glm::vecX> 或将其作为std::vector<glm::vecX>& 传递。
使用std::memcpy 复制数据可以正常工作,但它会复制数据,我想避免这种情况。
【问题讨论】:
-
你必须创建你自己的函数来实现它(它花费你 1)
-
glm::vecX的定义是什么? -
x、y、z的成员有哪些类型?对应的float值应该是什么?
标签: c++ vector struct glm-math