读书人

多维数组索引的有关问题

发布时间: 2012-06-25 18:37:39 作者: rapoo

多维数组索引的问题
一个六维数组P,数组的头指针传递给Q,

那么Q[a*b*c*d*e*f]=P[a][b][c][d][e][f];

请问这两种索引方法,哪个快一些,还有为什么?

[解决办法]
Q[a*b*c*d*e*f]这个快一些吧,因为经过一次地址偏移就可以索引到。
P[a][b][c][d][e][f]可能需要多次地址偏移才能索引到。

个人意见,仅供参考
[解决办法]
Q[a*b*c*d*e*f] //可能较快,因为a*b*c*d*e*f的计算在寄存器中,或可被编译器优化
P[a][b][c][d][e][f];//可能较慢,因为寻址计算要访问RAM
到底实际谁快谁慢,还看实际循环运行并手动掐秒表计时的结果。
提醒:用计算机程序计时不如用手动掐秒表计时准,因为占用CPU负荷较大的运算会干扰计算机系统时钟。

读书人网 >C++

热点推荐