C++定义太多变量会不会影响运行速度?

2025-01-24 15:27:27
推荐回答(2个)
回答1:

如果你定义了几十万的变量,我想应该是会影响的。
int a= f(b);
g(a);

g(f(b));

对于编译器来说是没有什么不同的,编译器在编译的时候会进行代码优化。而且,即使你不定义变量a,那么f(b)的结果也会保存在一个临时变量中然后再给g()使用。但是在使用局部变量的时候有一点需要注意,比如你想定义一个数组,如果你定义的数组很大,比如int a[2000]的话有可能会出错的。因为局部变量是在栈区存储,一般栈没有那么大,所以可能会造成内存分配错误。我们在使用时不用太担心,真正如果是关心代码的运行速度的话,要更多的考虑代码的逻辑结构,合理使用数据结构和算法。

回答2:

不会,这种都会被优化掉