是否对C ++的实现有任何监督?

时间:2014-04-02 18:14:22

标签: c++ compiler-construction iso

C ++代码标准由国际标准化组织(ISO)定义。有许多不同的C ++实现,如GCC / G ++,libc / libc ++,clang(++ too),Microsoft Visual C ++,英特尔C ++编译器等。所以任何人都可以自己实现(编译器等,运行时库,...)并称之为C ++。

我想知道:

  • 是否有与C ++实现有关的学科?
  • 是否有任何组织(如ISO)控制这些实施以确保它们符合标准?

1 个答案:

答案 0 :(得分:6)

这完全取决于编译器供应商。

C ++ 14标准本身正在developed openly on GitHub的原因之一是因为在此之前,供应商/实施者难以跟踪各种工作组闭门造车的情况。

使用C ++ 14 ISO正试图让供应商事先了解这些变化,参与塑造并了解他们的期望,并在他们发现任何问题时发表意见。

AFAIK许多编译器开发人员(并且一直都是)在ISO委员会中,但并非他们都设法及时实现所有事情。 众所周知,MSVC需要一段时间才能实现“noexcept”。 GCC的libstdc ++相当糟糕,虽然它比clang的libc ++更加速度优化。

AFAIK,clang是唯一的编译器to have all c++11 and c++14 features done,然后是标准范围之外的一些编译器(参见下面的页面)。 libc ++也很现代,完全支持c ++ 11(或者完全支持99%)。

希望ISO委员会现在设定的标准是如何制定标准,以便供应商快速准确地实施标准,而不是10年后。