1. boost::ref 除了可以将变量 包装为引用,还可以将函数对象(bind function<>) 包装为应用,以便作为参数传递。

但std::ref 的功能除了上面的功能还能 将函数对象以引用方式传给 模板算法。而boost:ref则不行。

  1. boost::bind 本质就是将已有的函数(常规函数,指针,类的成员函数,function<> )包装为新函数(改变函数的参数个数,次序)

  2. boos::function<> 将常规函数,函数指针,类的成员函数,其他的function<> 转换为变量。以便调用,传递。

  3. signal 则是利用 bind::bind function<> 形成一个观察者模式

注意 signal::slot_type必须要定义,并作为信号,槽的接口的参数类型,

以及信号槽的建立过程

posted on 2024-01-26 16:47  keleman  阅读(2)  评论(0编辑  收藏  举报