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<T>

valuelist 是一般链表结构,通用模板类;需提供相应类的拷贝构造函数(QValueList<T>::Iterator)

  • empty()
  • count()
  • popFront()
  • popBack()
  • pushFront()
  • pushBack()
  • find()

QStringList

继承自QValueList, 很好用的处理字符串的数据结构 (QStringList::Iterator)

  • split()
  • join()

QPtrList<T>

指针链表

QMap<K,T>

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

  • find()
  • empty()

QDict<T>

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

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

注:

  1. 据我了解QT中没有多值单key的数据结构,因此只能使用list遍历;或使用QDict保存key对应值得链表指针。
  2. QT中的bitset, 和C++标准模板库中的bit数据结构类似,都以Byte而不是以bit存储数据的,并且不提供相应的bit操作。在实际应用中可考虑用unsigned int类型来做位操作。 但应当综合考虑位操作的效率和方便性。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值