标准遵从性——是否有完全符合标准的c++实现

standards compliance - Are there any fully conforming C++ implementations?

本文关键字:标准 c++ 实现 完全符合 是否      更新时间:2023-10-16

所以我正在使用GCC尝试c++ 0x的一些特性,但我也想确保代码可以用标准的c++编译器编译。因此,我正在使用ifdefs的__cplusplus宏来排除未被要求的c++ 0x代码。

我发现__cplusplus的值不是199711L,而是1!在谷歌上搜索了一下之后,我发现这里说GCC不是一个完全符合标准的实现。

是否有完全符合的实现?我知道clang、gcc和msvc。GCC不是一个完全一致的实现,clang和msvc是吗?

我相信comau是完全符合的。他们甚至实现了模板导出。

更重要的是,你可以在线尝试,这听起来会对你正在做的事情有帮助。

No。有一个符合标准的编译器是可能的,但是该语言极其复杂。在编译器编写者努力使之工作的语言中存在着边缘情况、歧义,有时甚至是完全矛盾。

确保代码符合标准的最好方法是大脑编译,因为你可以验证代码是否符合标准。当然,这取决于您完全理解标准的能力;是否有人能做到这一点是一个全新的问题。div;)

由于export关键字的实现过于复杂,在不久的将来,除了Comeau之外的任何编译器都不太可能完全兼容。至于原因,请参见为什么我们不能出口。