c++中没有闭包,所以需要自己实现一个

利用c++11中的智能指针
把一个智能指针传给一个对象,如果对象不被释放掉,那么智能指针也不会释放掉。
比如:
把一个智能指针传递给一个回调函数,假设回调函数会放到一个回调函数队列中,那么回调函数就会是一个函数对象,而这个回调函数没有被释放之前,智能指针也不会释放

但是上面的方法也不一定能保证智能指针不被释放,所以要通过 bind,强制智能指针引用加一