属性树使用部分类模板特化。 没有尝试解决对此缺乏支持的问题。 因此,该库很可能无法与 Visual C++ 7.0 或更早版本或 gcc 2.x 一起使用。
属性树已使用以下编译器进行测试(回归已成功编译并运行)
- Visual C++ 8.0
- gcc 3.4.2 (MinGW)
- gcc 3.3.5 (Linux)
- gcc 3.4.4 (Linux)
- gcc 4.3.3 (Linux)
- Intel C++ 9.0 (Linux)
-
为什么
get
有 3 个版本?难道不能只有一个吗? 这三个版本反映了在几年内在几个不同应用程序中使用属性树所积累的经验。在那段时间里,我努力想出一个合适的 get 函数形式,但失败了。我知道这三种基本用法模式
-
只获取数据,我不在乎是否可以完成。 当程序员相当确定数据存在时使用。或者在家庭作业中。或者当明天是您项目的最终截止日期时。
-
获取数据,如果无法完成则恢复为默认值。 当您希望允许省略相关键时使用。由一些类似的工具(Windows INI 文件访问函数)实现。
-
获取数据,但我更关心您是否成功,而不是数据本身。 当您希望根据获取成功/失败来改变控制流程时使用。或检查键是否存在。
- 更多解析器:YAML、环境字符串。
- 更强大的 XML 解析器。
- 数学关系:属性树差集、并集、交集。 用于查找配置文件更改等。