在c ++ 11项目中,我想尽可能多地使用stl原语而不是boost语句。我虽然仍然需要一些boost库 - 例如filesystem。它虽然使用boost :: shared_ptr。
我的问题是 - 是否有一种方法可以提升切换到使用std :: shared_ptr以及如何使用?
答案 0 :(得分:2)
Boost是否有配置设置使其使用std::shared_ptr
?不一般。 Boost.Asio apparently has a way to make the internals use std::shared_ptr
(似乎在std::shared_ptr
可用时自动启用)。但是没有针对此提升Boost的设置。
你可能会做一些找到 - 替换体操让它发挥作用。当然,这假设Boost库中没有一个对Boost的内部结构做出假设。并且他们都没有访问其内部。并且boost::shared_ptr
与std::shared_ptr
没有任何界面差异。
它不值得付出努力。让Boost在内部使用它想要的任何代码。它对您来说唯一重要的地方是接口,很少有Boost库实际上在代码的接口中使用boost::shared_ptr
。实际上,我在Boost 1.59文档上搜索了std::shared_ptr
的Google网站,我发现它甚至被引用的唯一地方就在我上面链接的文档中。