STL 迭代器:前缀增量更快? [英] STL iterators: Prefix increment faster?

查看:48
本文介绍了STL 迭代器:前缀增量更快?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可能的重复:
在 C++ 中预增量比后增量更快 - 真?如果是,为什么会这样?
i++和++有性能差异吗我在 C++ 中?

有人告诉我,在使用 STL 及其迭代器时,我应该始终使用 ++iter 而不是 iter++.

I got told that when using the STL and it's iterators, I should always use ++iter instead of iter++.

我引用:

因为它只会更快,永远不会更慢

Because it can only be faster, never slower

这是真的吗?

推荐答案

是的.总的来说,这是真的.后缀增量负责保留和返回迭代器的值.这需要时间和精力,这通常会使其变慢.

Yes. It is true in general. The postfix increment is burdened with the task of preserving and returning the old value of the iterator. That takes time and effort, which is what generally makes it slower.

对于实现传统前/后语义的所有重载递增/递减运算符通常都是如此.

It is generally true for all overloaded increment/decrement operators that implement the traditional pre/post semantics.

这个话题被打死了.在这里搜索前缀后缀"以获得大量更详细的解释.

This topic is beaten to death. Do a search here on "prefix postfix" for a large number of more detailed explanations.

这篇关于STL 迭代器:前缀增量更快?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆