Ell*_*Ell 4 c++ vector
我刚刚读了一个关于初始化多维向量(问题)的问题,而Viktor Sehr和Sbi反而使用单个向量并获取元素my_vector[x+y*100+z*100*100].为什么是这样?是出于性能原因吗?如果是这样,它如何提高性能?在此先感谢,ell.
my_vector[x+y*100+z*100*100]
编辑:当宽度/高度/深度不相同并且可以改变时,这些原因是否仍然适用?
Any*_*orn 8
原因很简单:
它浪费空间,速度慢(无法预测的内存访问,缓存浪费等),这很麻烦
主要的性能缺点可能是缓存.对于平面阵列,您可以保证内存是连续的 - 缓存很快乐.矢量矢量 - 谁知道!
归档时间:
13 年,11 月 前
查看次数:
958 次
最近记录: