浅谈c++ Closure与tr1::function区别
1. C++ closure
C++回调函数是一个闭包,方便进行C++的类函数回调。该闭包能够接受任意类以及类成员做参数。
C++ closure的一个简单实例请见:http://blog.csdn.net/chdhust/article/details/42346517。
目前Closure个人实现思想是:一次性Closure与永久性Closure。
2. tr1:: function
通常是tr1::function与tr1::bind一起使用。
bind的用法,其声明如下所示:
bind(Function fn, T1 t1, T2 t2, …, TN tN);
其中fn为将被调用的函数,t1…tN为函数的参数。如果不指明参数,则可以使用占位符表示形参,点位符格式为
std::tr1::placehoders::_1, std::tr1::placehoders::_2, …, std::tr1::placehoders::_N。