QT容器遍历分为Java和STL遍历

STL风格遍历器的语法类似于使用指针对数组的操作。我们可以使用++和--运算符使遍历器移动到下一位置,遍历器的返回值是指向这个元素的指针。例如QVector的iterator返回值是 T *类型,而const_iterator返回值是 const T * 类型(数据为常量,返回值不能修改)。

一个典型的使用STL风格遍历器的代码是:

QList::iterator i = list.begin();

while (i != list.end()) {

*i = qAbs(*i);

++i;

}

对于某些返回容器的函数而言,如果需要使用STL风格的遍历器,我们需要建立一个返回值的拷贝,然后再使用遍历器进行遍历。如下面的代码所示:

QList list = splitter->sizes();

QList::const_iterator i = list.begin();

while (i != list.end()) {

doSomething(*i);

++i;

}

在C++中,很多人都会说,要避免这么写,因为最后一个return语句会进行临时对象的拷贝工作。如果这个对象很大,这个操作会很昂贵。所以,资深的C++高手们都会有一个STL风格的写法:

void sineTable(std::vector &vect)

{

vect.resize(360);

for (int i = 0; i &

qlist的遍历_QT 容器及遍历相关推荐

  1. list遍历_Qt 容器类之遍历器和隐式数据共享

    Qt 容器类之遍历器和隐式数据共享 前面说过,Qt 容器类提供了两种遍历器:Java 风格的和 STL 风格的.前者比较容易使用,后者则可以用在一些通过算法中,功能比较强大. 对于每一个容器类,都有与 ...

  2. 同时遍历多个dataframe_Java面试-容器的遍历

    当我们用增强for循环遍历非并发容器(HashMap.ArrayList等),如果修改其结构,会抛出异常ConcurrentModificationException,因此在阿里巴巴的Java规范中有 ...

  3. WPF遍历当前容器中某种控件的方法

    原文:WPF遍历当前容器中某种控件的方法 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/m0_37591671/article/details/79 ...

  4. 由先序遍历和中序遍历得到后序遍历和层次遍历(二叉树)

    前几天写了1020 Tree Traversals (25 分)-PAT甲级这个题目,明白了如何由二叉树的后序遍历和中序遍历得到先序遍历和层次遍历.受这道题启发,思考了一下如何由二叉树的先序遍历和中序 ...

  5. Java实现前序遍历,中序遍历,后序遍历,层序遍历

    1.遍历思想 前序遍历首先访问根节点,然后访问左子树,最后访问右子树. 中序遍历先访问左子树,然后访问根节点,最后访问右子树. 后续遍历先访问左子树,然后访问右子树,最后访问根节点. 层序遍历则是从上 ...

  6. python实现二叉树的重建2 之由中序遍历和后序遍历重建

    前言 通过上一节对python实现二叉树的重建1 之由前序遍历和中序遍历重建,我相信我们再来做这个问题就不难了,完全可以照猫画虎的来实现,具体的原理几乎是一样的,直接上代码了 code # 通用解法d ...

  7. python实现二叉树的重建1 之由前序遍历和中序遍历重建

    前言 此题是关于树的面试题目的常见题型,题目的含义很清晰,这个就不用多说了 解法 关于这道题的解法有很多不同的样式,通用的解法是这样的: 假如现在我们有如下两个遍历的情况 preorder: [1, ...

  8. 通过前序遍历和中序遍历构建二叉树 python实现

    前言 通过前序遍历和中序遍历构建二叉树的原理,主要是找前序遍历根节点在中序遍历中的位置,然后将二叉树而成左子树和右子树,然后依次进行这样的操作,思路还是比较简单的 代码 class Node:def ...

  9. 刷题:二叉树的遍历方式及根据遍历结果还原二叉树

    二叉树的遍历方式及根据遍历结果还原二叉树 1. 二叉树的遍历方式 2. 根据遍历结果还原二叉树 2.1 已知先序遍历和中序遍历还原二叉树 2.2 已知后序遍历和中序遍历还原二叉树 实验代码: 1. 二 ...

最新文章

  1. C++标准库中各种排序归纳
  2. 35岁,一个尴尬的年纪
  3. CentOS6.8下安装JDK1.8
  4. Lomox0.2.0.1_Plugin_beta
  5. 3D数学基础:图形与游戏开发---随笔二
  6. 2的负x次幂图像_数学| NO.2,3 函数 T15
  7. json格式的简单转换
  8. 惠普台式机重装系统之后,无法进入系统
  9. LeetCode 链表相关题目总结
  10. PKIX path building failed
  11. crazybox路由器解决授权码问题
  12. 计算机设备没有音频,电脑找不到音频设备是怎么回事_电脑没有音频设备怎么处理...
  13. 什么是云数据库RDS?
  14. php fpdf生成个人简历,php生成PDF文件(FPDF)
  15. 怎么用小程序挣钱?想赚钱就做这5类小程序!
  16. 大学python搜题app_有没有什么大学生搜题比较好用的app?
  17. 在GitLab上创建Project完成功能步骤
  18. 这个专门提供多角恋约会的软件,终于被谷歌封杀了
  19. win7internet信息服务器安装,Win7如何安装启用Internet信息服务(IIS)管理器
  20. 关于 js bin 的运用

热门文章

  1. 【对当前现状的分析】如何做好学术汇报的PPT?
  2. linux下获取在终端中输出的数据
  3. 安卓漏洞揭秘-android投屏scrcpy支持声音部分调研-千里马framework投屏开发
  4. 网络游戏运营中的数据理解及流量转化
  5. 基于莫尔效应的防伪技术
  6. 要求提供上一家公司的工资流水,有人有些不解,这是为啥
  7. 报关软件java_支付宝报关接口开发
  8. javaScript防抖
  9. vb.net 解压缩(文件/文件夹解压缩,zip文件浏览,单文件解压,分卷压缩)
  10. 程序员碰到过哪些瞠目结舌的bug呢? 伪装 | 的汉字丨你是真的6!