现在我正在重写部分代码以使用 C++11 标准。在某些地方我发现了以下代码:
boost::shared_array<uint8_t> array;
是否可以将其替换为:
std::shared_ptr<std::vector<uint8_t>> array;
我正在尝试在我的代码中替换 C++11 中已经存在的所有 boost 功能。
我需要澄清一点。实际上我需要一个原始数组(但有引用计数,所以它可以自动删除),不需要所有那些 vector 特征。所以 boost::shared_array 解决了我想要的问题,没有任何额外的成本。但我试图让我的代码尽可能多地使用新标准(尽管新标准仍未涵盖来自 boost 的许多库)。
谢谢。
最佳答案
鉴于编译器对 C++11 的支持以及人们维护构建的懒惰,我现在将保持原样。 Boost 具有几乎可以在任何地方工作的良好特性,包括旧的编译器,您想要进行的更改几乎不会改进代码。
此代码也不完全相同。
关于c++ - 使用 std::shared_ptr<std::vector> 而不是 boost::shared_array 有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16520722/