众所周知,对于大多数算法来说,在栈上分配和释放数据比在堆上执行要快得多,这是常识。在C++中,代码的差异就像:
但是,当访问和计算堆栈或堆中的数据时,是否有任何重要的区别?也就是说,速度上是否有差别?
该代码应该在几种不同的架构上运行,因此尝试和测量是不可行的。
double foo[n*n]
vs.
double* foo = new int[n*n]
但是,当访问和计算堆栈或堆中的数据时,是否有任何重要的区别?也就是说,速度上是否有差别?
foo[i]
该代码应该在几种不同的架构上运行,因此尝试和测量是不可行的。