2011-04-11 68 views

回答

1

我认为预增加会更快,因为它只是增加它,然后在那里和行为完成,而后递增需要保持一个变量的副本更长一点。

这可能取决于编译器,但我通常使用预增量,除非需要另外。

+0

好的编译器生成反映*语义*的代码,而不是语法。如果需要保留一个副本,那么它将是,如果没有,那么它不会是,无论使用哪个操作符。而且在大多数情况下,不需要保持cppy。 – 2011-04-11 06:15:14

1

在C++的答案我亲自给过是沿着这样的线:

后增量必须创建对象的副本当前状态,增加对象,并通过值返回副本。对于整数类型来说,这是无关紧要的,因为按值返回是相同的大小,而复制意味着很少。

预增量可能只是增量并通过引用自行返回。

+0

这是不正确的。只有在增量之前的值需要表达式时才会进行“复制”;但在这种情况下,附加成本不能归因于++算子,因为获取该值是整个表达式的结果,而不是后增加算子的结果。 – 2011-04-11 05:09:03