【发布时间】:2017-09-08 23:09:24
【问题描述】:
这是我在 StackOverflow 上的第一个 C++ 相关问题
我有一个先前在 Openframeworks 中初始化的 3D 点的向量存储在 Vec3f 中
向量顶点;
我正在尝试获取这些顶点的中间点。我现在的代码是这样的
*for (int vertOne = 0; vertOne< 39; vertOne++) {
vertex.push_back(vertices[vertOne].getMiddle(vertices[vertOne++]));
}*
我想让顶点[vertOne] 在循环中向上移动,例如 - 0,1,2,3,4,5,6,7,8,9 等。
但我希望 .getMiddle(vertices[vertOne++]) 从 1、2、3、4、5、6、7、8、9 等开始在循环中移动。
所以我希望第一个数组从 0 开始,第二个数组从 1 开始,并在循环中成对向上移动
我是编程新手,所以任何帮助都会很棒
谢谢!
【问题讨论】:
-
vertex.push_back(vertices[vertOne].getMiddle(vertices[vertOne + 1])); -
这是因为
vertOne++修改了vertOne,所以你的代码就成双了。 -
std::vector有一个大小。比 39 之类的幻数更喜欢它。如果您使用index + 1访问下一项,请注意该大小。您要么需要在结束前停止 1,要么以不同的方式处理最后一项。 -
为什么代码周围有
*?它不能那样编译。