在C++中拆分数组
Splitting Array in C++
我正在制作一个游戏,我有一个浮点数组,可以制作一个3D模型,我已经用opengl放置了这些模型。我想做的是分离x,y&z坐标并将它们变成一个多维数组。我想这样做,以便我可以调整相对于地形的 y 位置。我在 init 函数中放置的 for 循环如下:
for (int x = 0; x < sizeof(desert_scene_plainVerts); x++) {
if (((x + 3)%3) == 0) {
//x coord
terrainxPos[x/3] = desert_scene_plainVerts[x];
}
else if (((x + 1)%3) == 0) {
//z coord
terrainzPos[(x-2)/3] = desert_scene_plainVerts[x];
}
else{
//y coord
terrainzPos[(x-1)/3] = desert_scene_plainVerts[x];
}
}
我在这一行收到错误:
terrainzPos[(x-1)/3] = desert_scene_plainVerts[x];
错误如下:
Thread 1: EXC_BAD_ACCESS (code=2, address= 0x10 etc.)
有谁知道我做错了什么。
假设你正确地声明了terrainxPos[]
、terrainyPos[]
和terrainzPos[]
,你的逻辑看起来不错。 如果这些是vector
,请确保正确resize()
它们。
但是,您的循环可能更清晰,更容易推理这样编写:
for (int x = 0, v = 0; x < sizeof(desert_scene_plainVerts); x += 3, v++) {
terrainxPos[v] = desert_scene_plainVerts[x + 0];
terrainyPos[v] = desert_scene_plainVerts[x + 1];
terrainzPos[v] = desert_scene_plainVerts[x + 2];
}
相关文章:
- 如何拆分文件中.txt字母并使用c ++使用数组进行扑克?
- 将字符串拆分为标记,并将标记拆分为两个单独的数组
- 给定一个大小为 N 的数组 S,检查是否可以将序列拆分为两个序列
- 拆分字符数组并存储为向量
- 通过拆分字符数组来创建字符串
- 在C++中用字符串数组拆分声明和赋值
- 如何拆分整数并将所有内容添加到数组中?
- C++将大型数组拆分/分区为较小的数组
- 如何调试此代码以按空格将数组拆分
- 将一个std::数组拆分为一个较小大小的std::array元组
- 编辑:根据偶数和奇数元素将数组拆分为两个
- 使用提升range_iterator数组拆分字符串
- 将数组拆分为子块
- 将字符数组拆分为字母数字字符和非字母数字字符
- C++中的数组拆分
- 将字符数组拆分为字符串
- 将数组拆分为两个独立的数组
- 将字符数组拆分为两个字符数组
- 如何将字符指针数组拆分为两个带有分隔符的新字符指针数组
- 是否有STL函数将c风格的数组拆分/拼接成更小的数组?