随笔分类 -  Qt-STL

摘要:FROM:http://apps.hi.baidu.com/share/detail/33517814 今天做项目时,需要用到QList来存储一组点。为此,我对QList类的说明进行了如下翻译。 QList是一种表示链表的模板类。QList<T>是Qt的一种泛型容器类。它以链表方式存储一组值,并能对 阅读全文
posted @ 2017-12-07 22:54 findumars 阅读(4864) 评论(0) 推荐(1) 编辑
摘要:http://doc.qt.io/qt-4.8/containers.html http://doc.qt.io/qt-4.8/qcache.html 阅读全文
posted @ 2017-06-13 18:10 findumars 阅读(845) 评论(0) 推荐(0) 编辑
摘要:Container classes are one of the cornerstones of object-oriented programming, invaluable tools that free us from having to permanently think about mem 阅读全文
posted @ 2017-01-12 21:33 findumars 阅读(449) 评论(0) 推荐(0) 编辑
摘要:QList<T> 的释放分两种情况: 1.T的类型为非指针,这时候直接调用clear()方法就可以释放了,看如下测试代码 将上面代码中的slist.clear(); 注释掉,内存显示为如下(任务管理器里的截图) 如不去掉的话,内存显示如下图 2.T的类型为指针的情况,这时候直接调用clear()方法 阅读全文
posted @ 2016-12-10 00:08 findumars 阅读(2132) 评论(0) 推荐(0) 编辑
摘要:#include <iostream>#include <QString>#include <QList>#include <QListIterator> int main(int argc, char *argv[]) { QList<QString> list; list << "One" << 阅读全文
posted @ 2016-10-19 23:29 findumars 阅读(2568) 评论(0) 推荐(0) 编辑
摘要:QList算是最常用的集合了,今儿偶然间需要修改QList中的值,结果郁闷了。QList中提供了replace函数来替换item,但不是修改。而at()、value()操作均返回的是const的item引用,无法修改。最后才发现,使用下标([index])才可以获得可修改的item的引用!为啥不给a 阅读全文
posted @ 2016-08-24 00:17 findumars 阅读(1215) 评论(0) 推荐(0) 编辑
摘要:以前一直以为就是重命名而已,原来还不是。QT真伟大,方便到家了。该有的,全都有现成的。 阅读全文
posted @ 2016-06-30 21:10 findumars 阅读(564) 评论(0) 推荐(0) 编辑
摘要:用Qt做过项目开发的人,肯定使用过诸如QList、QVector、QLinkList这样的模板容器类,它们虽然名字长的不同,但使用方法都大致相同, 因为其使用方法都大体相同,很多人可能随便拿一个容器类来使用,但却不知道这种选择是不是最优,这对于对性能要求不苛刻的应用,这种选择不会有任何影响,但是若性 阅读全文
posted @ 2016-06-20 04:50 findumars 阅读(1090) 评论(0) 推荐(0) 编辑
摘要:咳咳!总结了一下我在使用QT文件操作时所用到的,再接再厉!再接再厉!! 1.保存到文件: QFile file("test.txt"); if (!file.open(QIODevice::WriteOnly);) { QMessageBox::warning(NULL, tr("保存文件"), t 阅读全文
posted @ 2016-06-02 18:14 findumars 阅读(6476) 评论(0) 推荐(0) 编辑
摘要:今天开始的部分是关于Qt提供的一些通用算法。这部分内容来自C++ GUI Programming with Qt 4, 2nd Edition。 <QtAlgorithms>提供了一系列通用的模板函数,用于实现容器上面的基本算法。这部分算法很多依赖于STL风格的遍历器(还记得前面曾经说过的Java风 阅读全文
posted @ 2016-02-01 20:55 findumars 阅读(3386) 评论(0) 推荐(0) 编辑
摘要:Introduction Qt库提供了一组基于模板的一般化的容器类。这些容器可以存储指定的类型的元素。例如,如果你需要一个可变大小的Qstring数组,可以用QVector<QString>.。 这些容器比STL容器更轻更安全更容易使用。如果你不熟悉STL或者更喜欢以Qt的方式做事,你可以用这些类取 阅读全文
posted @ 2016-02-01 19:52 findumars 阅读(14262) 评论(0) 推荐(0) 编辑
摘要:QList QList<T> 是一个Qt通用容器类。它存储一序列的值,并且提供基于索引的数据访问方法和快速的插入和删除操作。 QList<T>, QLinkedList<T>, 和 QVector<T>提供类似的功能,这里进行几点概述: 1. 大多数情况下,最好使用QList。它基于索引的API比Q 阅读全文
posted @ 2016-02-01 19:14 findumars 阅读(5794) 评论(0) 推荐(0) 编辑
摘要:forward_list forward_list是C++11版本才有的。forward_list被实现为单链表,而list是一个双向链表,所以forward_list要比list高效一些。forward_list设计的时候就是追求效率的,跟我们自己写的C格式的单链表一样的高效。 考虑到效率问题,f 阅读全文
posted @ 2016-02-01 19:07 findumars 阅读(1617) 评论(0) 推荐(0) 编辑
摘要:QVector和vector的比较: Qvector默认使用隐式共享,可以用setSharable改变其隐式共享。使用non-const操作和函数将引起深拷贝。at()比operator[](),快,因为它不进行深拷贝.Qvector取值都会检查越界问题。 看看简单的例子: QVector<int> 阅读全文
posted @ 2016-02-01 18:55 findumars 阅读(5901) 评论(0) 推荐(0) 编辑
摘要:http://blog.csdn.net/hai200501019/article/details/8474582http://blog.csdn.net/hai200501019/article/details/8482876http://blog.csdn.net/hai200501019/ar 阅读全文
posted @ 2016-02-01 18:13 findumars 阅读(720) 评论(0) 推荐(0) 编辑
摘要:从内存泄露开始? 很简单的入门程序,应该比较熟悉吧 ^_^ #include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label 阅读全文
posted @ 2016-02-01 18:02 findumars 阅读(3397) 评论(0) 推荐(1) 编辑
摘要:前几天要用QSet作为储存一个自定义的结构体(就像下面这个程序一样),结果死活不成功。。。 后来还跑到论坛上问人了,丢脸丢大了。。。 事先说明:以下这个例子是错误的 [cpp] view plaincopyprint? #include <QtCore> struct node { int cx,  阅读全文
posted @ 2015-11-25 07:07 findumars 阅读(2835) 评论(0) 推荐(0) 编辑
摘要:留个爪,备查 QMultiMap<QString, QString>& remote_map = my_obj->m_MapVersion; // ccc 这里体现了引用的好处,不必整个复制了 qDebug() << "remote_map: " << remote_map.count(); QMu 阅读全文
posted @ 2015-08-05 18:13 findumars 阅读(5146) 评论(0) 推荐(0) 编辑