Advertisement

Qt容器类采用两种迭代方式(Java风格和STL风格)

阅读量:

1、Qt提供了一系列基于模板的通用容器类。相较于C++标准准模板库中的容器类,Qt的容器类在使用便捷性、安全性以及轻量化程度方面具有显著优势;同时,Qt的容器类还在执行效率、内存占用以及内联代码处理等方面进行了优化改进

2、存储于Qt容器类中的数据类型必须具备可赋值的特性,这意味着该数据类型需支持默认构造函数(无参数构造函数)、复制构造函数以及赋值操作符。

3、这些数据类型涵盖了日常开发中常用的大部分类型,包括基本数据类型(如int、double等)和Qt自身提供的数据类型(如QString、QDate、QTime等)。然而,继承自QObject的类及其子类(如QWidget、QDialog等)则无法被存储于Qt容器中,例如:

复制代码
    QList<QToolBar> list; //错误,因为QObject及其子类没有复制构造函数和赋值操作运算符。
    
      
    

然而,能够保存指向QObject及其派生类的对象指针

复制代码
    QList<QToolBar*> list;
    
      
    

4**、Qt框架中的容器类支持嵌套使用**,例如:

复制代码
    QHash<QString, QList<double> >; //键类型是QString,值类型是QList<do

全部评论 (0)

还没有任何评论哟~