繁体   English   中英

GCC准备好使用C ++ 14生产代码了吗?

[英]Is GCC ready for C++14 production code?

此网页中 ,GCC对ISO C ++ 14标准的支持定义为“ 实验性 ”。

由于我想在我的C ++代码中使用C ++ 11对C ++ 11的某些改进(例如std::make_unique和通用lambda),因此我可以安全地将-std=c++14选项与适用于生产代码的GCC 4.9,还是当前的GCC / C ++ 14状态类似于“ beta”,因此GCC / C ++ 14尚未准备好用于生产代码?

当前的GCC / C ++ 14状态类似于“ beta”,因此GCC / C ++ 14尚未准备好用于生产代码吗?

这取决于您使用的功能。 make_unique非常简单,易于实现,应该安全地依赖。

其他一些新功能(尤其是核心语言功能)需要花费更多的工作来实施,并且可能还有更多的错误等待发现和修复。

因此,没有一个“准备就绪”或“尚未准备就绪”的答案。

但是,需要注意的重要一件事是,尽管它仍被标记为实验性的,但没有尝试保持GCC 4.x和GCC 5之间的向后兼容性。 因此,如果您具有使用GCC 4.8构建的C ++ 11代码,并且要链接到使用4.9构建的其他C ++ 11 / C ++ 14对象,并且如果/当您移至GCC 5时,都需要重新编译所有代码。 :重新编译所有使用C ++ 11或C ++ 14的对象(因为std::tuple类的类型在GCC 5中更改了数据布局)。

对于C ++ 03代码,我们不会在版本之间更改定义,因此它们是稳定的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM