是否有一个c ++标准库实现,包括与visual-studio 2008一起使用的std :: unique_ptr?

时间:2017-02-06 19:04:12

标签: c++ visual-studio-2008

为了向旧的C ++应用程序添加新功能,我需要包含使用std::unique_ptr的代码。该应用程序使用VS2008构建,并且包含的​​c ++标准库版本不包括std::unique_ptr

是否有一个版本的c ++标准库可以在VS2008上编译并包含std::unique_ptr

或者,有没有办法复制其功能?

1 个答案:

答案 0 :(得分:0)

  

为了向旧的C ++应用程序添加新功能,我需要包含使用std::unique_ptr的代码。

你不能直接这样做。您唯一的选择是 backport 该代码。我在下面提到您的选择。

  

是否有可以在VS2008上编译并且包含std::unique_ptr的STL版本?

并非我了解其中一个(请参阅here)。另外我想你的意思是c ++标准库而不是STL(这是一种在上世纪90年代提供的预标准c ++实现)。

  

或者,有没有办法复制其功能?

使用std::unique_ptr创建代码的后端有两个(合理的)选项:

  1. 旧标准std::auto_ptr提供了类似的功能,但与std::uniqe_ptr相比有一些不足之处。

  2. 您可以尝试boost::unique_ptr这是一个pre c ++ 11标准实现 这个实现修复了std::auto_ptr提供的一些缺陷,但缺乏真正的移动静止(与VS2008兼容的旧版增强版本)。