Chinaunix首页 | 论坛 | 博客
  • 博客访问: 623679
  • 博文数量: 138
  • 博客积分: 3067
  • 博客等级: 中校
  • 技术积分: 1565
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-21 12:44
文章分类

全部博文(138)

文章存档

2016年(5)

2014年(4)

2012年(1)

2011年(2)

2010年(10)

2009年(19)

2008年(97)

我的朋友

分类:

2008-03-22 18:28:23

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)

  • split()
  • join()

QPtrList

指针链表

QMap

以Map方式存储对象。Key只对应唯一的值,多次赋值会覆盖前值

  • find()
  • empty()

QDict

以Dict方式,存储对象指针。同QMap,Key只对应唯一的值,多次赋值会覆盖前值.

  • find()
  • empty()
QByteArray
  • resize()
  • duplicate()

注:

  1. 据我了解QT中没有多值单key的数据结构,因此只能使用list遍历;或使用QDict保存key对应值得链表指针。
  2. QT中的bitset, 和C++标准模板库中的bit数据结构类似,都以Byte而不是以bit存储数据的,并且不提供相应的bit操作。在实际应用中可考虑用unsigned int类型来做位操作。 但应当综合考虑位操作的效率和方便性。
阅读(6176) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~