两者都是采用引用计数的方式实现的智能指针,但是两者所使用的设计模式确实不同的。
boost::shared_ptr使用组合的实现方式,
class shared_ptr {
private:
boost::detail::shared_count pn; // reference counter
};
任何对象都可以用shared_ptr来维护
android::sp使用继承的实现方式,任何使用android::sp的对象都必须继承RefBase类,那这样使用sp的对象就有限制了