C++ 代码标准由国际标准化组织 (ISO) 定义。有许多不同的 C++ 实现,如 GCC/G++、libc/libc++、clang(也是++)、Microsoft Visual C++、Intel C++ 编译器等,因此任何人都可以制作自己的实现(编译器等、运行时库等)并将其称为 C++。
我想知道:
- 是否有任何与 C++ 实现相关的学科?
- 是否有任何组织(如 ISO)控制这些实现以确保它们符合标准?
最佳答案
这完全取决于编译器供应商。
C++14 标准本身成为 developed openly on GitHub 的原因之一是因为在此之前,供应商/实现者很难了解各种工作组闭门造车后发生的事情。
对于 C++14,ISO 试图让供应商提前了解变化,参与塑造并了解对他们的期望,并在发现任何问题时发表意见。
据我所知,许多编译器开发人员是(并且一直是)ISO 委员会成员,但并非所有人都能及时实现所有事情。 众所周知,MSVC 花了一段时间来实现“noexcept”。 GCC 的 libstdc++ 严重落后,尽管它比 clang 的 libc++ 速度优化得更好。
据我所知,clang 是唯一的编译器 to have all c++11 and c++14 features done然后是标准范围之外的一些(见该页下方)。 libc++ 也非常现代,完全支持 c++11(或者说完全支持 99%)。
希望 ISO 委员会现在树立的关于标准制定方式的榜样能够为供应商快速、正确地实现它树立标准,而不是在 10 年后。
关于c++ - 是否对 C++ 的实现进行监督?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22819687/