设为首页 加入收藏

TOP

QT菜鸟入门第二弹:QList和C++类模板
2014-11-24 08:22:40 来源: 作者: 【 】 浏览:1
Tags:菜鸟 入门 第二 QList 模板

上次我们遇到了形如 QList rows 的看起来古怪的表达方式。


当然了,看起来古怪主要是因为我的C++学的不好啊,然后我就查了一下手头的书《21天学通C++第六版》,在其258页,15.4节,进行了“模板简介”的讲解。


顺带的,在QT Creator里,在QList上按下F1查看帮助文档。


这顺序其实应该是先看了帮助文档,发现这是一个QList的东西,然后才知道这个东西长的跟模板有关系,然后才去找的书,然后才发现还有函数模板,然后才确定这是类模板……


模板类,类模板@@,好吧它们之间或许真的有语意上的细微区别,但是我是目前理解它们是一样的了。书上说道“模板类是模板化的C++类”,然后给出了一个例子:



是吧,有例子就比没有例子强啊,而且这里有一点,模板之前讲的是宏定义,而且说了,宏函数不是类型安全的,模板则是安全的,因此模板就有了跟宏相似的地方——替换。


先说一下这个例子,这个例子使用的时候比如是CMyFirstTemplateabcd; 这个int就替换掉了声明里面的T,因此这个T就是个类似未知数变量之类的东西了,打酱油的。


如此说来我们用到的QList就是把QList中的类型指定为QStringList了。


然后看看QT的帮助文档,上面说道:


QList类是一个模板类,提供了列表。


QList是QT的普通容器类的一种。它存储了一个值的列表,并且提供了基于索引的快速访问,插入,删除等。


然后文档中列出了QList,QLinkedList,QVector三种之间的相同点和不同点,分析优越性啊什么的。


不过目前我还没有关注那么远,就知道平常使用QList就很好了。


帮助文档给出了一些例子:


QList integerList; 存储的整数


QList dateList; 存储的QDate类型的值


然后就提到了我们用到的那种方式


Qt包含了一个QStringList类,继承了QList并且添加了一些方便操作的函数,比如QStringList::join() QStringList::find() 等等。


帮助文档继续说到


QList存储了一个条目的列表,默认的构造函数创建了一个空的列表。为了插入条目,可以使用操作符<<();


然后举例子:


QList list;


list << "one" << "two" << "three";


然后呢,帮助文档说了一下,提供了一些基础函数insert() replace() removeAt() move() swap(),然后还有 append() prepend() removeFirst() removeLast()


然后又提到了Qlist跟数组一样从0开始数


好吧,后面还有不少内容,但是我看不下去了先……,目前了解的基本够我理解程序的了。就是个字符串数组操作么……@@,搞的如此复杂。


最后给出代码,省的再翻了


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇QT菜鸟入门第三弹:模拟时钟例程 下一篇QT菜鸟入门第一弹:简单的窗口

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python 数据分析与可 (2025-12-26 21:51:20)
·从零开始学Python之 (2025-12-26 21:51:17)
·超长干货:Python实 (2025-12-26 21:51:14)
·为什么 Java 社区至 (2025-12-26 21:19:10)
·Java多线程阻塞队列 (2025-12-26 21:19:07)