我很清楚后缀和前缀是如何递增/递减的。但我的问题是,在for循环中,哪个更高效,哪个更快,哪个更常用,为什么?
前缀?
for(i = 0; i < 3; ++i) {...}或者后缀?
for(i = 0; i < 3; i++) {...}发布于 2011-09-25 13:39:39
在这种特殊情况下,实际上没有一个比另一个更有效。我希望++i更常用,因为这对其他类型的迭代来说更有效,比如迭代器对象。
发布于 2011-09-25 13:37:53
对于这种上下文中的int来说,没有区别--编译器在大多数优化级别下都会生成相同的代码(我敢说,即使在没有优化的情况下也是如此)。
在其他上下文中,比如C++类实例,就有一些不同。
发布于 2011-09-25 13:39:31
两者都有效,但在这种情况下,一种方法并不比另一种方法更有效或更快。人们使用++1是很常见的,可能是因为K&R和其他有影响力的书籍都使用了它。
https://stackoverflow.com/questions/7543843
复制相似问题