tr1::shared_ptr和boost::shared_ptr之间有什么区别吗?如果有,是什么?
tr1::shared_ptr
boost::shared_ptr
这个实现符合 TR1 规范,唯一的例外是它位于命名空间 boost 中而不是 std::tr1。
Boost.Assert
libc++
std::shared_ptr
boost::shared_ptr
的解引用运算符在执行解引用前使用Boost.Assert
来检查是否为 NULL(即为空);而libc++
的std::shared_ptr
没有这样的检查。如果在运行时出现此错误,则一个会导致断言失败,另一个会导致分段错误(可能)。 - rvalue