回调应该使用unique_ptr
shared_ptr只应该用在生命周期非常不确定的场景。但是这种场景本身应该严格限制。就算不考虑效率,毕竟shared_ptr不是真的GC,是不能处理循环引用的。
【 在 hgoldfish 的大作中提到: 】
: 说到 shared_ptr<>,我发现使用协程以后, shared_ptr<> 减少了。
: 我猜是因为不使用协程的话,会出现大量回调函数,回调绑定变量时需要使用 shared_ptr<> 让变量跳出当前函数的生命周期。
: 而使用协程以后,不再有回调函数,函数之间都是简单直接的调用与被调用关系。原本 shared_ptr<> 的变量,可以被申请放在栈空间里面,传递时使用 & 或者直接传递值,shared_ptr<> 被大量消灭了。
: ...................
--
FROM 76.126.252.*