使用std :: shared_ptr <std :: vector>而不是boost :: shared_array是否有意义?</std :: vector>

时间:2013-05-13 11:14:17

标签: c++ boost c++11 stl

现在我正在重写我的代码的一部分以使用C ++ 11标准。在某些地方,我发现了以下代码:

boost::shared_array<uint8_t> array;

是否可以用以下内容替换它:

std::shared_ptr<std::vector<uint8_t>> array;

我正在尝试在我的代码中替换C ++ 11中已经提供的所有boost功能。

我需要澄清一下。实际上我需要一个原始数组(但使用refcount,因此可以自动删除),不需要所有这些矢量功能。因此boost :: shared_array解决了我想要的问题而无需任何额外费用。但是我正在努力让我的代码尽可能地使用新标准(虽然许多来自boost的库仍未被新标准所涵盖)。

感谢。

1 个答案:

答案 0 :(得分:4)

鉴于编译器中C ++ 11支持的当前状态以及维护构建的人们的懒惰,我现在将其保留原样。 Boost几乎可以在任何地方工作,包括旧编译器,并且您想要进行的更改很难改进代码。

此代码也不完全相同。