首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Q向量迭代器使用前缀增加而后缀迭代器内部减少?

为什么Q向量迭代器使用前缀增加而后缀迭代器内部减少?
EN

Stack Overflow用户
提问于 2016-01-11 14:26:00
回答 1查看 74关注 0票数 1

我目前正在为内部数据结构实现迭代器,并了解了QVector是如何实现其迭代器的。我不明白为什么QTypedArrayData::iterator实现了它的++和--操作符,如:

代码语言:javascript
复制
T *i;
inline iterator &operator++() { ++i; return *this; }
inline iterator &operator--() { i--; return *this; }

我不明白的是两者之间的差异:为什么它使用后缀递减运算符?

谢谢你的澄清!

EN

Stack Overflow用户

回答已采纳

发布于 2016-01-11 15:02:41

您缺乏理解意味着您期望这两者之间有任何实际差别,并且编码是有目的地这样做的。这种期望是合理的,但不正确。无论用哪种方式编写这些操作,它们的工作方式都是一样的。对于非POD类型来说,复制/移动可能很昂贵,但这里的情况并非如此。15到20年前,这对那个时代的穷人来说很重要。谢天谢地,我们不必再处理VS6了:)

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34723858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档