实际 C 标准中的哪些功能最初不是 C 的一部分,而是在 C++ 中发明/为 C++ 发明的,并且由于其优点,后来被 C 采用?
一个突出的例子是单行注释 //
,最初来自 C++,后来被 C 采用。
您是否了解实际 C 标准的更多功能,这些功能显式或隐式地来自 C++ 的开发?
信息: 当然,我知道C++是从C派生的,但我只是在想它的派生C++的开发中采用了哪些功能。
最佳答案
我无法确认它们肯定直接受到 C++ 的影响1,但以下是 C99 中添加的标准 C++ 功能的列表:
- 单行注释(如上所述)
- 内联函数
- block 开始后允许使用的变量
- bool 数据类型
- 复杂的数学库
C11:
- 匿名 union (C11 也允许匿名结构)。标准 C++ 中已经存在匿名 union 。 (标准 C++ 中仍然不允许匿名结构)。
1 例如,BCPL(B 的前身,B 的前身,而 C 的前身)已经具有相同的单行注释语法。其中一些在合并到标准 C++ 之前可能已在某些 C 实现中作为语言扩展得到支持。在这些情况下,标准 C 和标准 C++ 可能都受到同一来源的影响,而不是相互影响。
关于c++ - 哪些 C 功能受 C++ 功能影响/源自 C++ 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59396256/