-1

在 C/C++ 中,我想知道哪个更快?

int a;
int b = a + a; // this
int b = 2 * a; // or this?

另外,数据类型重要吗?怎么样long?我们加起来的次数呢?

(关于什么...)

long a;
long b = a + a + a +a;
long b = 4 *a;
4

1 回答 1

9

相信你的优化编译器。它知道如何以您只能猜测的方式针对特定的 CPU/架构进行优化。如果不参考特定的架构,“x 是否比 y 快?”这样的陈述没有任何意义,因为这完全取决于大量因素。

与性能问题一样,测量将比我们提供半知情的意见和猜测更完整地回答问题。

于 2013-07-10T21:02:14.353 回答