gcc的网站上仍然说:“GCC对C++11的支持还处于实验阶段。”(http://gcc.gnu.org/projects/cxx0x.html)。当发布编译器的人说这句话时,我感到犹豫,因为我的组织内部正在争论是否要推动向C++11特性的迁移。如果gcc说它是实验性的,我应该为"-std=c++11“争辩吗?
发布于 2013-07-15 23:58:05
我怀疑这是你可以争论的事情之一,直到发生一些罕见的事情(奶牛回家,地狱结冰,等等),但找不到解决方案。
这里的关键是,“实验性支持”可能意味着,如果您与GCC签订了支持合同,您可能无法针对这11个特性提出“缺陷”罚单。但另一方面,我们可能会期望大多数功能都相当健壮,因为在C++11规范出现之前,它们已经讨论了很长时间。
确定您的产品是否由编译器正确生成的关键仍然依赖于您对产品代码(作为不同级别的单元(函数、类、共享库、可执行文件,这对您的产品有意义)和“完整的”产品)的测试。这并不会因为C++11支持是否是试验性的而改变。在编译器中,即使是非实验性的代码有时也会中断。
要看的另一部分当然是“我们得到了什么好处,以及它对项目有多大的风险”。你是在改变整个系统,还是只是一个角落里的一小部分,如果它崩溃了,可以通过以不同的方式做更多的步骤来解决?
最后,这真的是你必须遵循的“在前进和避免风险之间的最佳平衡是什么”。
https://stackoverflow.com/questions/17658396
复制相似问题