0

刚才我很困惑在访问在堆栈中初始化的数组而不是在堆中初始化的数组时是否会影响性能。

例子

void access(int *pointer){

}

int main(){

int array [] = {6,5,4};

access(array);

}

VS

void access(int *pointer){

}

int main(){

int *array  =  new int[3];

access(array);

}

我真正想知道的是是否可以直接访问堆栈中数组的起点?

4

1 回答 1

4

这是微优化。整体性能通常会受到更大的影响,例如所需的数据是否在 CPU 缓存中。

我强烈推荐阅读每个程序员都应该知道的关于内存的知识。它相当繁重(现在有点过时了),但它非常全面。

于 2012-06-23T15:28:28.900 回答