首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >2005上的C++11

2005上的C++11
EN

Stack Overflow用户
提问于 2014-01-09 14:15:11
回答 1查看 2.4K关注 0票数 0

我正在处理一些多平台遗留代码,需要在Visual 2005上编译。

VS 2005支持C++11?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-09 14:30:32

不,不需要。

VS2008有TR1 (假设有足够的服务包),它是标准库中的一些新组件,比如std::tr1::shared_ptr,它们已经进入了C++11标准,但它没有新的语言特性,如lambdas、rvalue引用等,也没有像线程或std::unique_ptr这样的库特性。

通过Boost的VS2005库,您可以在TR1中获得相同的效果。如果您想要跨编译器支持,您可以这样做,例如,

代码语言:javascript
复制
#include <boost/tr1/memory.hpp>

int main()
{
    std::tr1::shared_ptr<int> pi( new int(42) );
    // ...
}

在具有自己的TR1实现的平台上,Boost将自动使用这些工具。在没有TR1的平台上,它将使用自己的实现,导入到std::tr1命名空间中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21022640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档