c++ - 是否对 C++ 的实现进行监督?

标签 c++ compiler-construction iso

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/

相关文章:

C++ - 执行速度测试的正确方法是什么?

java - 如何匹配 CUP 解析器语法中的空大小写

android - 将谷歌地图平移到 Android 上的 ISO 3166 国家/地区代码

Java : How to convert java. lang.String 到 ISO 8859-1 格式

c++ - 保留函数指针模板参数

c++ - 从字符串中提取单个单词 C++

c++ - 将移动的 b2body 移动到特定位置

c++ - 链接器错误:未解析的外部'__Fastcall_Advgrid::TAdvstringGrid::AutosizeCol......从...name.OBJ 引用

assembly - 位置参数与关键字参数

linux - 创建可引导的 .img 文件