标签归档:数据容器

JUCE类库String类详解

String字符串类的重要性无需多言。该类其实也是一种数据容器(char类型的数据容器),只不过由于比较特殊和重要,将其单列一节。JUCE类库的String类与C++标准库的string类的功能与使用基本一致,但又有差别。JUCE::String内部使用了引用计数技术,多了一批实用和方便的成员函数,而又不臃肿,使用时更加顺手和高效。

JUCE String与C++标准库std::string互相转换的语法为:

继续阅读JUCE类库String类详解

JUCE类库ValueTree类详解

先了解一下Identifier类。该类的对象代表一个字符串标识符(属性名称),用于按名称访问属性值。ValueTree使用本类对象作为属性值所对应的属性名称。相比数据类型标识符(比如int、double等),Identifier更加清晰直观,便于使用(一是不用写字符串的””引号,二是该属性是什么一目了然)。而相比于XML中节点的属性名称,其执行效率更高:XML的一切处理都是基于文本字符串的,而Identifier则相当于一个全新的“类型”。

继续阅读JUCE类库ValueTree类详解

JUCE类库var类和Value类详解

JUCE类库的var不仅是数据容器,更是一个功能强大的“万用型”数据类型,既可以保存一个具体类型的数值,又可以保存该类型的一整个数组。通过其构造函数的多个重载版本即可获知,var可代表的数据类型有:int, int64, bool, double, const char*, const wchar_t*, String, ReferenceCountedObject引用计数类的指针 ,DynamicObject键值对数组,甚至可以是某个函数(实质为函数指针)!

继续阅读JUCE类库var类和Value类详解

JUCE类库数据容器4-1

JUCE类库中,数据容器的地位与重要性相当于C++中的STL。用该类库编程,甚至完全可以不用C++的标准库。JUCE相当一批数据容器为线程安全的类模板。其中,第一个模板参数为容器要保存的数据类型,第二个模板参数为CriticalSection临界区(互斥)类型,该模板参数有默认值(一个虚假的临界区对象)。如需确保线程安全,将其替换并显式设置为临界区对象即可。

JUCE的数据容器类相当多,本节只列出若干重要且常用的。

继续阅读JUCE类库数据容器4-1