【发布时间】:2011-04-19 09:30:25
【问题描述】:
tr1::shared_ptr 和boost::shared_ptr 有什么区别吗?如果有,是什么?
【问题讨论】:
标签: c++ boost shared-ptr tr1
tr1::shared_ptr 和boost::shared_ptr 有什么区别吗?如果有,是什么?
【问题讨论】:
标签: c++ boost shared-ptr tr1
不,boost shared_ptr 的文档说:
此实现符合 TR1 规范,与唯一 它驻留在命名空间中的异常 boost 而不是 std::tr1。
【讨论】:
boost::shared_ptr 的解引用运算符在执行解引用之前使用Boost.Assert 来检查NULL(即空);而libc++ 的std::shared_ptr 没有这样的检查。如果您在运行时遇到此错误,一个表示断言失败,另一个表示分段错误(可能)。