Qt-容器类(笔记)

本文介绍了Qt中的容器类,包括顺序容器如QList和关联容器如QMap,并讨论了嵌套与赋值。在遍历容器部分,详细讲解了Java风格迭代器、STL风格迭代器和foreach关键字的使用。此外,还阐述了QString的隐式共享、编辑、查询和转换操作。最后提到了QByteArray和QVariant的特性。
摘要由CSDN通过智能技术生成

一、Qt的容器类简介

1.1 关联容器与顺序容器

1、顺序容器:QList,QLinkedList,QVector,QStack和QQueue。
在这里插入图片描述
2、关联容器:QMap,QMultiMap,QHash,QMultiHash和QSet。
在这里插入图片描述

1.2 嵌套与赋值

容器也可以嵌套使用,例如QMap<QString,QList >,这里键的类型是QString,而值的类型是QList,需要注意,在后面的“> >”符号之间要有一个空格,不然编译器会将它当做“>>”操作符对待。

在各种容器中所存储的值的类型可以是任何的可赋值的数据类型,该类型需要有一个默认的构造函数,一个拷贝构造函数和一个赋值操作运算符,像基本的类型double,指针类型,Qt的数据类型如QString、QDate、QTime等。但是QObject以及QObject的子类都不能存储在容器中,不过,可以存储这些类的指针,例如QList<QWidget*>。

二、遍历容器

遍历容器主要有三种方法:Java风格迭代器、STL风格迭代器(标准C++)、foreach关键字(按顺序遍历一个容器中的项目)。

2.1 Java风格迭代器

Java风格迭代器在使用时比STL风格迭代器要方便很多,但是在性能上稍微弱于后者。对于每一个容器类,都有两个Java风格迭代器数据类型:一个提供只读访问,一个提供读写访问。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值