Function 库如何改进你的程序?
- 保存函数指针和函数对象,用于后续的调用
在含有回调的设计中,常常需要保存函数和函数对象,而且某些函数或类也是 通过函数指针或函数对象来配 制其客户化功能。传统上,通常使用函数指针来实现回调及延迟调用的函数。但是,仅仅使用函数指针会有很多限制,更好的方法是采用泛型机制来定义要被保存的函数的署名特 征,而让调用者来决定提供哪一种类型的函数实体(函数指针或 函数对象)。这样就可以使用任何行为类似于函数的实体,例 如,使用 Boost.Bind 和 Boost.Lambda 所返回的结果。这意味着可以给这些被保存的函数 增加状态(因为函数对象是一种类)。这种泛化由 Boost.Function 提供。这个库用于保存并然后调用函数或函数对象。