我很清楚后缀和前缀增量/减量是如何工作的。但我的问题是,在for循环中,哪个更高效或更快,哪个更常用,为什么?
前缀?
for(i = 0; i < 3; ++i) {...}
或后缀?
for(i = 0; i < 3; i++) {...}
答案 0 :(得分:1)
对于这个上下文中的int
没有区别 - 编译器将在大多数优化级别下发出相同的代码(即使在没有优化的情况下,我也敢说)。
在其他情况下,与C ++类实例一样,存在一些差异。
答案 1 :(得分:0)
在这种情况下,两种方法都有效,一种效率不高于另一种方式。人们常常使用++ 1,也许是因为这是K&amp; R和其他有影响力的书籍所使用的。
答案 2 :(得分:0)
在这种特殊情况下,没有一个实际上比另一个更有效。我希望++i
更常用,因为对于其他类型的迭代,例如迭代器对象,它会更有效。
答案 3 :(得分:0)
在我看来,在for循环中选择前缀或后缀取决于语言本身。在c ++中,前缀更有效且更一致。因为在前缀类型中,编译器不需要复制未增加的值。除了你的值不能是一个整数,如果你的值是一个对象,那么这个前缀类型更强大。