单选题

设有 N 个物体的坐标 (x, y, z) 和速度 (vx, vy, vz...

发布于 2022-03-03 16:49:24

设有 N 个物体的坐标 (x, y, z) 和速度 (vx, vy, vz),求经过 dt 时间之后物体的新坐标,以下有两种方式(C++):
方法一:
struct Object {
  float x, y, z
  float vx, vy, vz
}

Object obj[N]

for (int i = 0 i < N i++) {
  obj[i].x += obj[i].vx * dt
  obj[i].y += obj[i].vy * dt
  obj[i].z += obj[i].vz * dt
}
方法二:
struct ObjectArray {
  float x[N], y[N], z[N]
  float vx[N], vy[N], vz[N]
}

ObjectArray obj_all

for (int i = 0 i < N i++) {
  obj_all.x[i] += obj_all.vx[i] * dt
  obj_all.y[i] += obj_all.vy[i] * dt
  obj_all.z[i] += obj_all.vz[i] * dt
}
在最高级别的优化选项(-O3)下,两种方式运行速度相比()

登录后免费查看答案
关注者
0
被浏览
24
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看