可能重复:
Is there a performance difference between i++ and ++i in C++?哪一个更快后增量或预增量?
嗨, 我有一天问以前,哪一个是快变量++或++变量?我有点困惑。有人能告诉我哪一个更快,为什么?
可能重复:
Is there a performance difference between i++ and ++i in C++?哪一个更快后增量或预增量?
嗨, 我有一天问以前,哪一个是快变量++或++变量?我有点困惑。有人能告诉我哪一个更快,为什么?
我认为预增加会更快,因为它只是增加它,然后在那里和行为完成,而后递增需要保持一个变量的副本更长一点。
这可能取决于编译器,但我通常使用预增量,除非需要另外。
好的编译器生成反映*语义*的代码,而不是语法。如果需要保留一个副本,那么它将是,如果没有,那么它不会是,无论使用哪个操作符。而且在大多数情况下,不需要保持cppy。 – 2011-04-11 06:15:14
在C++的答案我亲自给过是沿着这样的线:
后增量必须创建对象的副本当前状态,增加对象,并通过值返回副本。对于整数类型来说,这是无关紧要的,因为按值返回是相同的大小,而复制意味着很少。
预增量可能只是增量并通过引用自行返回。
这是不正确的。只有在增量之前的值需要表达式时才会进行“复制”;但在这种情况下,附加成本不能归因于++算子,因为获取该值是整个表达式的结果,而不是后增加算子的结果。 – 2011-04-11 05:09:03
检查http://stackoverflow.com/questions/24901/is-there-a-performance-difference-between-i-and-i-in-c – RageD 2011-04-11 05:02:40
尝试搜索按钮。 – Marlon 2011-04-11 05:26:46