QT中的常用数据结构
QString
代码中使用最多的莫过于string,QString提供了丰富的接口,使用方便,以下为常用接口:
- size()
- isEmpty()
- data()
- toUInt()
- toInt()
- toFloat()
- replace()
- remove()
- left()
- right()
- mid(first_index, length)
- arg()可以方便的实现snprintf的功能,arg最多为9个
- section(QRegExp, first_index, end_index) 使用QString或QRegExp分割字符串
QValueList
valuelist 是一般链表结构,通用模板类;需提供相应类的拷贝构造函数(QValueList::Iterator)
- empty()
- count()
- popFront()
- popBack()
- pushFront()
- pushBack()
- find()
QStringList
继承自QValueList, 很好用的处理字符串的数据结构 (QStringList::Iterator)
QPtrList
指针链表
QMap
以Map方式存储对象。Key只对应唯一的值,多次赋值会覆盖前值
QDict
以Dict方式,存储对象指针。同QMap,Key只对应唯一的值,多次赋值会覆盖前值.
QByteArray
注:
- 据我了解QT中没有多值单key的数据结构,因此只能使用list遍历;或使用QDict保存key对应值得链表指针。
- QT中的bitset, 和C++标准模板库中的bit数据结构类似,都以Byte而不是以bit存储数据的,并且不提供相应的bit操作。在实际应用中可考虑用unsigned int类型来做位操作。 但应当综合考虑位操作的效率和方便性。
阅读(6176) | 评论(0) | 转发(1) |