QT的容器类是一种值类型(能够被复制的事物)的集合,包括指向对象类型的指针(但不包括对象类型)。qt的容器被定义成模板类,这样就使得它所包含的类型是未指定的。
用于模板容器类的类型参数T,或者用于关联容器的键类型,都必须为可赋值数据类型,即值类型。这意味着T必须具有public类型的默认构造函数、复制构造函数和赋值运算符。
基本类(int、double、char等)和指针都是可赋值的。有些Qt类型是可赋值的(QString、QDate、QTime)。QObject以及其派生类都是不可赋值的。如果需要使用某种不可赋值类型的对象,则可以定义一个指针容器,比如QList<QFile*>。