反省是重点中的重点,泛型在实践中贯穿工程的始终。 以下库支持泛型编程。无需详细了解模板元编程即可使用这些库。 Boost.TypeTraits 提供了检查类型属性的函数。 Boost.EnableIf 可以与 Boost.TypeTraits 一起使用,例如,根据函数的返回类型重载函数。 Boost.Fusion 使创建异构容器成为可能——其元素可以具有不同类型的容器。
类型具有泛型编程所利用的不同属性。 Boost.TypeTraits 库提供了确定和更改类型属性所需的工具。
从 C++11 开始,Boost.TypeTraits 提供的一些函数可以在标准库中找到。您可以通过头文件 type_traits 访问这些函数。然而,Boost.TypeTraits 提供了额外的功能。
示例 48.1。确定类型类别
- #include
- #include