Qt中关联容器(容器存储的是<键,值>对)有:QMap(skip-list-based字典)、QMultiMap、QHash(哈希表)、QMultiHash、QSet
关联容器的引入:
首先,我们看看数组的概念。数组可以看成是一种<int-Object>形式的键-值对,它的Key只能是int,而值的类型是Object,也就是任意类型(注意,这里我们只是说数组可以是任意类型,这个Object并不必须是一个对象)。现在我们扩展数组的概念,把Key也做成任意类型的,而不仅仅是int,这样就是一个关联容器了。
QMap skip-list-based字典:
1、QMap<K, T>是一个以升序键顺序存储键值对的容器
2、QMap<K, T>重载了operator[],可以以数组的方式使用QMap<K,T>
3、QMap<K, T>中的k与T可以是基本数据类型,也可以是类类型
注意事项:
1、 之前说过容器内存储元素的要求,k与T必须都满足要求,同时,如果k是类类型,必须提供重载的operator<
2、 QMap<K, T>如果是non-const的,使用operator[]操作的k获取T时,如果k存在,返回对应T,如果k不存在,则会用给定的k和T对应的”零”值创建一个新项,并返回T对应的”零”值
3、 使用成员
const T |