有哪些C++11功能已经足够成熟,我可以在我的项目中安全地开始使用.我说的GCC主要是我很少需要Visual Studio.我显然不希望在我的代码中包含一个需要在几个月后重写的功能.我应该在这一开始就开始使用这些功能吗?因为我们大部分时间做的事情都不是c++11 dependent我们可以做旧学校方法中的所有事情和所有事情.那么我们是否应该在这个早期阶段开始使用C++ 11功能呢?
C++ 11标准最终完成并发布,因此不会再有任何更改.实现仍然落后一点,并且可能实现稍微旧版本的C++ 0x,但是当它们更新时你可能不会注意到很多差异.
C++ 11并不是完全向后兼容的,所以你要做的第一件事就是开始考虑C++ 11兼容性.GCC有一个警告标志"-Wc ++ 0x-compat"来帮助解决这个问题.不兼容性非常小,但这应该会出现任何问题.
一个很大的不兼容性是libstdc ++的ABI随着转移到C++ 11而改变,所以你还必须确保你可以处理它.
一旦你知道移动是安全的,就开始用C++ 11模式构建.在编写新代码或更改旧代码时,您可以逐步采用C++ 11对您有用的功能.您可能还需要考虑检查已弃用功能的使用,例如旧的异常规范,并用新的东西替换它们.
有很多新东西,所以如果你可以在线获得它或一些文档,请查看标准.我发现我想直接使用的大多数非常有趣的东西都在库中.不幸的是,这似乎是当前实施仍然落后最多的地方.