qlist-qt中的QList类,在遍历一遍后链表变为空是怎么回事

问题描述

qt中的QList类,在遍历一遍后链表变为空是怎么回事

我在qt中使用QList存储了一个自定义的数据结构,在对这个数据结构的内容取值后整个链表变为空的链表,不知道这是怎么回事

解决方案

你的“取值”方法有问题,变更了QList内容。

解决方案二:

没删?或者给头重新赋值了?

解决方案三:

是不是在遍历过程中被再一次实例化了?

解决方案四:

你要输出链表的话,可以用at(),而不是takeAt(),takeAt()是删除链表中的元素
3是长度
takeAt(0),删掉了第一个元素,那么接下来剩下两个元素,BB,cc,
然后takeAt(1),要删掉第二个元素,现在list剩下了BB,cc,第二个自然是cc
然后list只剩下了BB,你要takeAt(2),删掉第三个元素,list中根本没有第三个,自然会报错误
index out of range

解决方案五:

你要输出链表的话,可以用at(),而不是takeAt(),takeAt()是删除链表中的元素
3是长度
takeAt(0),删掉了第一个元素,那么接下来剩下两个元素,BB,cc,
然后takeAt(1),要删掉第二个元素,现在list剩下了BB,cc,第二个自然是cc
然后list只剩下了BB,你要takeAt(2),删掉第三个元素,list中根本没有第三个,自然会报错误
index out of range

时间: 2024-11-08 23:26:49

qlist-qt中的QList类,在遍历一遍后链表变为空是怎么回事的相关文章

class-C#中使用Task类,如何调用完成后继续执行下一个Task?是threadpool么?

问题描述 C#中使用Task类,如何调用完成后继续执行下一个Task?是threadpool么? C#中使用Task类,如何调用完成后继续执行下一个Task?是threadpool么? 解决方案 http://www.cnblogs.com/x-xk/archive/2012/12/11/2804563.html

Linux系统下QT中的多线程编程

Qt 作为一种基于 C++ 的跨平台 GUI 系统,能够提供给用户构造图形用户界面的强大功能.为了满足 用户构造复杂图形界面系统的需求,Qt 提供了丰富的多线程编程支持. Qt 作为一种基于 C++ 的跨平台 GUI 系统,能够提供给用户构造图形用户界面的强大功能.为了满足 用户构造复杂图形界面系统的需求,Qt 提供了丰富的多线程编程支持.从 2.2 版本开始,Qt 主要从下 面三个方面对多线程编程提供支持:一.构造了一些基本的与平台无关的线程类:二.提交用户自定义事 件的 Thread-saf

详解Java中使用ImageIO类对图片进行压缩的方法_java

最近做项目需要图片压缩处理,网上找的方法大都使用了 com.sun.image.codec.jpeg.* 这个包中的JPEGImageEncoder类,引入这个包后一直报错,各种google百度,尝试了各种方法,包括手动引jre中的rt.jar,以及在eclipse中把受访问限制的API提示从ERROR改为WARNING,等等,然而这些都是不好使的,因为后来我发现我的java-7-openjdk-amd64中的rt.jar里边根本就没有com.sun.image.*,貌似这个类在java7中已经

qt中如何根据类名动态创建qt默认的控件类实例

问题描述 qt中如何根据类名动态创建qt默认的控件类实例 7C 需要根据从外部读取类名来创建类的实例,类大多为qt自带的控件类,如QWidgetQLineEdit等.有没有不用继承这些类就可以动态创建的方法? 解决方案 int id = QMetaType::type(""MyClass"");if (id != 0) {void *myClassPtr = QMetaType::construct(id);...QMetaType::destroy(id myCl

c++-求教QT中一个类的函数怎样才能调用另一个类的函数

问题描述 求教QT中一个类的函数怎样才能调用另一个类的函数 在fivescene.h文件中已经声明class FiveScene : public QWidget: 然后UI中的Widget也是服从这个类的调用: 我想在让mainwndow.h(头文件中已经include)负责整个界面上的按钮的操作,然后有个重新开始的按钮clicked(),我希望使得Widget界面清空: 但在实际操作中,并没有调用到FiveScene类下面的init()函数,求教应该怎么变动 (编译已通过,部分相关代码如下)

[Qt教程] 第29篇 XML(三)Qt中的SAX

[Qt教程] 第29篇 XML(三)Qt中的SAX 楼主  发表于 2013-5-21 22:27:59 | 查看: 615| 回复: 5 Qt中的SAX 版权声明 该文章原创于Qter开源社区(www.qter.org),作者yafeilinux,转载请注明出处! 导语 我们前面讲述了用DOM的方法对XML文档进行操作,DOM实现起来很灵活,但是这样也就使得编程变得复杂了些,而且我们前面也提到过,DOM需要预先把整个XML文档都读入内存,这样就使得它不适合处理较大的文件.下面我们讲述另一种读取

通过 C# 使用 J# 类库中的 Zip 类压缩文件和数据

数据|压缩 本文假设您熟悉 C# 和 Windows 窗体 下载本文的代码: ZipCompression.exe (150KB) 摘要 在存储文件或者通过网络发送文件时,使用 Zip 压缩可以节省空间和网络带宽.此外,还不会丢失经过 Zip 的文件夹的目录结构,这使其成为非常有用的压缩方案.C# 语言不具有任何使您可以操纵 Zip 文件的类,但是由于面向 .NET 的语言可以共享类实现,并且 J# 在 java.util.zip 命名空间中公开了类,因此您可以在 C# 代码中使用这些类.本文将

c++-Qt中,怎么链接写好的C++功能实现

问题描述 Qt中,怎么链接写好的C++功能实现 在Qt中,怎么链接写好的C++功能实现 在Qt中,怎么链接写好的C++功能实现 在Qt中,怎么链接写好的C++功能实现 解决方案 Qt Manual中有对Library加载的详细说明,静态库只要加头文件所在目录,在代码中包含需要的头文件,并设置静态库lib所在目录到库目录中: 如果是dll,则需要dll import/export来标识需要导入/导出的类,然后设置lib相关目录,则可以在代码中使用dll中的类和函数了. 解决方案二: 链接无非就是链

c++-qt中函数参数类型不同也能实现其功能?

问题描述 qt中函数参数类型不同也能实现其功能? 图中data为QByteArray类型,而函数原型为const char类型,broadcast为枚举类型,而函数原型为hostaddress类型.为什么不同也能够实现其功能呢? 解决方案 这里发生了隐式类型转换 QString raw_string = ""haasd123ha""; QByteArray byte_instrument = raw_string.toLocal8Bit(); const char