目录
1、boost::function
1.1 概述
boost::function 是 Boost 库中提供的一个通用函数对象包装器,它可以存储指向任何可调用对象的指针,并且可以在任何时候通过 operator() 调用。这个功能类似于C++11及以后版本中的 std::function。使用 boost::function 的主要好处是可以创建类型安全的函数指针容器,可以接受不同类型的函数、成员函数、lambda 表达式或仿函数(functor)作为参数,方便在算法和数据结构中传递可调用实体。
1.2 boost包装器和C++11包装器对比
C++11和Boost库中的包装器在概念上具有相似之处,都是为了提供对可调用实体(如函数、函数指针、成员函数指针、lambda表达式以及仿函数等)的通用接口。但是它们的具体实现、依赖性以及功能细节有所不同。
相同之处:
1. 目的:两者都提供了将不同类型的可调用对象统一为一个类型安全的接口的能力,以便在需要可调用对象的地方进行传递和使用。
2. 灵活性:无论是C++11标准库中的std::function还是Boost库中的boost::function,都能存储不同类型和数量参数的可调用对象。
3. 适配器模式:它们都作为适配器模式的一种应用ÿ