c++ - 如何在 C++ 中使用 for 循环递增两个不同的值

标签 c++ arrays loops for-loop increment

目前我有这个:

Shape* shapeArray[12];
for (int i = 0; i < vertices.size(); i += 3) {
    for (int j = 0; j < sizeof(shapeArray) / sizeof(shapeArray[0]); j++) {
        shapeArray[j] = new Triangle(vertices[i], vertices[i + 1], vertices[i + 2], vec3(0.8, 0.0, 1.0));
    }
}

我正在尝试用三角形创建一个立方体。我想每次将 j 值递增 1,并将 i 值每次递增 3,结果如下(如果它是硬编码的):

Shape* shapeArray[12];
shapeArray[0] = new Triangle(vertices[0], vertices[1], vertices[2], vec3(0.8, 0.0, 1.0));       
shapeArray[1] = new Triangle(vertices[3], vertices[4], vertices[5], vec3(0.8, 0.0, 1.0));       
shapeArray[2] = new Triangle(vertices[6], vertices[7], vertices[8], vec3(0.8, 0.0, 1.0));
shapeArray[3] = new Triangle(vertices[9], vertices[10], vertices[11], vec3(0.8, 0.0, 1.0));
shapeArray[4] = new Triangle(vertices[12], vertices[13], vertices[14], vec3(0.8, 0.0, 1.0));
shapeArray[5] = new Triangle(vertices[15], vertices[16], vertices[17], vec3(0.8, 0.0, 1.0));
shapeArray[6] = new Triangle(vertices[18], vertices[19], vertices[20], vec3(0.8, 0.0, 1.0));
shapeArray[7] = new Triangle(vertices[21], vertices[22], vertices[23], vec3(0.8, 0.0, 1.0));
shapeArray[8] = new Triangle(vertices[24], vertices[25], vertices[26], vec3(0.8, 0.0, 1.0));
shapeArray[9] = new Triangle(vertices[27], vertices[28], vertices[29], vec3(0.8, 0.0, 1.0));
shapeArray[10] = new Triangle(vertices[30], vertices[31], vertices[32], vec3(0.8, 0.0, 1.0));
shapeArray[11] = new Triangle(vertices[33], vertices[34], vertices[35], vec3(0.8, 0.0, 1.0));

但是,它并没有给我想要的结果。我得到了 3 个 j 值,因此没有正确绘制立方体。

如何使用 for 循环解决这个问题?或者我是否需要改变使用数组来存储三角形。谢谢。

最佳答案

for (int i= 0, j= 0; i < vertices.size(); i+= 3, ++j) {
...
}

是这样的吗?

关于c++ - 如何在 C++ 中使用 for 循环递增两个不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40084184/

相关文章:

java - 递归地将数组元素更改为 a[i] = i

java - 将 ArrayList 转换为二维数组

python - 寻找满足阈值关系的组合

c++ - gcc 编译(有时)导致 cpu 负载不足

c++ - Qt MainWindow 忽略宽度、高度和标题属性

c++ - 使用 glTexImage2D 函数缺少绿色分量,为什么?

java - 冒泡排序没有排序

c++ - 如何正确链接用 Haskell 编写的目标文件?

javascript - Ember.js,使用 {{each}} 循环遍历两个数组

javascript - 如何使用 for 循环删除 div 并延迟 5 秒