0
p变量是大小为3的元组,用于存储3D空间中点的位置。对可变性能的多次调用
是下面的代码:不止这一个?:
int x = p.x();
int y = p.y();
int z = p.z();
if (x > 0 && x < endx)
{
if (Matrix[x+1][y][z] == 1){}
if (Matrix[x-1][y][z] == 1){}
}
if (y > 0 && y < endy)
{
if (Matrix[x][y+1][z] == 1){}
if (Matrix[x][y-1][z] == 1){}
}
if (z > 0 && z < endz)
{
if (Matrix[x][y][z+1] == 1){}
if (Matrix[x][y][z-1] == 1){}
}
编辑 - 使用低速
if (p.x() > 0 && p.x() < endx)
{
if (Matrix[p.x()+1][p.y()][p.z()] == 1){}
if (Matrix[p.x()-1][p.y()][p.z()] == 1){}
}
if (p.y() > 0 && p.y() < endy)
{
if (Matrix[p.x()][p.y()+1][p.z()] == 1){}
if (Matrix[p.x()][p.y()-1][p.z()] == 1){}
}
if (p.z() > 0 && p.z() < endz)
{
if (Matrix[p.x()][p.y()][p.z()+1] == 1){}
if (Matrix[p.x()][p.y()][p.z()-1] == 1){}
}
VS 2012 Express中,视窗64
你有没有衡量什么?如何在不知道平台/编译器/选项等的情况下回答你的问题? – quantdev 2014-12-03 03:49:49
@quantdev,对不起,我总是忘记 – 2014-12-03 03:54:29
嗯,我会说没有办法减少通话次数,你正在访问3D邻居,并且需要3次通话。使用数组作为p可以减少代码行数,但不会减少通话时间。 – 2014-12-03 03:54:47