boost::bind 在进行参数绑定的时候,如果绑定的是一个对象,而且对象的声明周期很重要,证明你要开始悲剧了。
直接上图吧:
我不过是轻轻的bind了一下,结果出来这么多析构,难道是啥魔法不成,,,
回头一想三架马车还有俩没上来,,,
各种构造,各种析构,,,
bind应该产生了一个类似functor的东东,保持了一份参数的拷贝,,,
复习了下数数,构造和析构的个数是一样的,,,所以bind如果传递shared_ptr是安全的,,,
不过shared_ptr中有interlock操作,效率,,,