数据结构, 容器, 迭代器, 和算法
Boost.Any
Any库支持类型安全地存储和获取任意类型的值。当你需要一个可变的类型时,有三种可能的解决方案:
-
无限制的类型,如 void*. 这种方法不可能是类型安全的,应该象逃避灾难一样避免它。
-
可变的类型,即支持多种类型的存储和获取的类型。
-
支持转换的类型,如字符串类型与整数类型之间的转换。
Any实现了第二种方案,一个基于值的可变化的类型,无限可能的类型。这个库通常用于把不同类型的东西存储到标准库的容器中。
Any 的作者是 Kevlin Henney.
Boost.Array
这个库包装了普通的C风格数组,给它们增加了一些来自于标准库容器的函数和typedef 。其结果就是可以把普通的数组视为标准库的容器。这非常有用,因为它增加了类型安全性而没有降低效率,而且它使得标准库容器和普通数组拥有统一的语法。后一点意味着可以把普通数组用于大多数的要求容器类来操作的函数。当要求软件要达到普通数组的性能时,可以用Array来替代std::vector.