重要提示:由于最终的ISO C ++ 14标准最近才发布,因此GCC的支持是实验性的。不会尝试保持与不反映最终标准的C ++ 14特性的实现的向后兼容性。
我找不到experimental
的官方GCC定义。它是否仅适用于非标准功能的向后兼容性,如最后一句所述?或者它是否也表明稳定性或缺乏稳定性?同一页上的早期句子说
C ++ 14功能作为"主线"的一部分提供。 GCC编译器位于GCC的Subversion存储库和GCC 4.8及更高版本的主干中。
对我而言,这表明稳定性。是这样的吗?特别是,我的问题是关于GCC 4.9,因为这是最早的版本,完全支持C ++ 14,根据前面提到的页面。
答案 0 :(得分:9)
没有"官方GCC定义",只有官方的英语定义。
这篇文章意味着,GCC之前在 C ++ 14发布之前实现了当时即将推出的C ++ 14特性的实验原型,未来版本将不会试图保持向后兼容性那些实验。
两个版本之间的向后兼容性仅针对国际标准中包含在这些版本中的功能进行维护。
这是因为,在标准发布之前,新C ++功能的规范可能会发生相当大的变化。确保支持它们的早期实验能够与最终在标准中发布的最终真实特征相容,这将是疯狂的。
简而言之:使用实验性功能需要您自担风险,并且不希望它们在下一版GCC中以相同的方式工作。