我正在处理一些多平台遗留代码,需要在Visual 2005上编译。
VS 2005支持C++11?
发布于 2014-01-09 14:30:32
不,不需要。
VS2008有TR1 (假设有足够的服务包),它是标准库中的一些新组件,比如std::tr1::shared_ptr,它们已经进入了C++11标准,但它没有新的语言特性,如lambdas、rvalue引用等,也没有像线程或std::unique_ptr这样的库特性。
通过Boost的VS2005库,您可以在TR1中获得相同的效果。如果您想要跨编译器支持,您可以这样做,例如,
#include <boost/tr1/memory.hpp>
int main()
{
std::tr1::shared_ptr<int> pi( new int(42) );
// ...
}在具有自己的TR1实现的平台上,Boost将自动使用这些工具。在没有TR1的平台上,它将使用自己的实现,导入到std::tr1命名空间中。
https://stackoverflow.com/questions/21022640
复制相似问题