870920 Menu

JUCE类库数据容器4-2

7、SortedSet <元素类型,临界区对象>

SortedSet采用二分法搜索,效率极高。该容器不保存相同的值,内部自动排序,即唯一性排序集合(关联容器),用于保存原始类型的数据,也可保存支持内存中复制、移动而无需借助于自定义的构造函数和析构函数的类类型。本容器确保不出现相同的值。

注:集合中的元素必须支持 ==, <, >, <= 和 >=。

8、ReferenceCountedArray <元素类型, 临界区对象>

ReferenceCountedArray是专用于保存ReferenceCountedObject引用计数对象类的数组。也就是说,如果要使用引用计数类对象的数组,则使用本类来保存这些对象,而尽量不要使用其他容器。原理:本类可对ReferenceCountedObject类型的对象自动增减计数(添加或移除时)。

与其他数据容器一致,要使本类的各个函数线程安全, 则传入第二个构造参数(CriticalSection临界区对象)。

9、HashMap <键类型, 值类型, HashFunction, TypeOfCriticalSection>

HashMap哈希表(键值对集合,散列表,搜索效率最高的关联容器)。注意,键值数据应可按值拷贝。因此, 如果为指针类型,则本类无法销毁并释放该指针所指向的堆中数据及其内存。键的类型和值对象的类型为模板化参数,第三个模板参数为包含哈希函数的类,该类所包含的哈希函数用于将键值转换为整型数据。该类必须具有以下形式:

如果自定义的类(本容器所保存的元素类型)不支持HashFunctionToUse模板参数, 则本容器仅提供字符串和整型数据的简单映射。

10、LinkedListPointer

LinkedListPointer相当于单链表的助手类。本类适用于使用指针技术的链表类对象。用法: 自定义的类中声明本类的对象后即成为一个链表,并且该对象的名称必须为: nextListItem。示例: