0

gcc 网站仍然说:“GCC 对 C++11 的支持仍处于试验阶段。” (http://gcc.gnu.org/projects/cxx0x.html)。当发布编译器的人这么说时,我对在我的组织内争论是否要求转向 C++11 特性感到犹豫。如果 gcc 说它是实验性的,我应该争论“-std=c++11”吗?

4

1 回答 1

2

我怀疑这是您可以争论的事情之一,直到发生罕见的事情(奶牛回家,地狱冻结等)并且找不到解决方案。

这里的关键是“实验性支持”可能意味着如果您签订了 GCC 的支持合同,您可能无法针对 11 个功能提出“缺陷”票。但另一方面,我们可能期望大多数特性都相当健壮,因为在 C++11 规范出现之前,它们已经讨论了很长时间。

确定您的产品是否由编译器正确构建的关键仍然取决于您对产品代码的测试(作为各个级别的单元(函数、类、共享库、对您的产品有意义的可执行文件)和“完整”产品)。根据 C++11 支持是否是实验性的,这并没有真正改变。即使是非实验性代码有时也会在编译器中中断。

另一部分要看的当然是“我们得到了什么好处,它对项目有多大的风险”。您是要更改整个系统,还是只更改一个角落的一小部分,如果它坏了,可以通过以不同的方式执行更多步骤来解决?

最后,这确实是您必须遵循“前进和避免风险之间的最佳平衡”的问题。

于 2013-07-15T15:58:05.433 回答