之间有什么区别吗 boost::shared_ptr, std::tr1::shared_ptr 以及即将到来的(在 C++0x) std::shared_ptr?

从一种移植到另一种会产生任何开销吗?或者它们基本上是相同的吗?

有帮助吗?

解决方案

据 Boost 网站介绍, boost::shared_ptr...

...符合 TR1 规范,唯一的例外是它驻留在名称空间中 boost 代替 std::tr1.

根据维基百科 C++0x

TR1 实现缺少某些指针功能,例如别名和指针算术,但 C++0x 版本将添加这些功能。

如果您的代码适用于 TR1/Boost 版本,它也应该适用于 C++0x 版本(但不一定反之亦然)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top