【发布时间】:2018-05-11 11:53:48
【问题描述】:
This page 列出了 C99 中的 53 个新特性(即它们在 C99 中但不在 C89 中)。所有这些功能是否也在 C++ 中?甚至是 C++98?
如果不是,哪些功能在 C++ 中,哪些不是?
【问题讨论】:
-
您可能希望自己将功能添加到问题中,以防链接失效。
-
我会说 C99 的大多数新核心语言特性都不是 C++。 VLA 不在 C++ 中。复合文字不在 C++ 中。灵活的数组成员不在 C++ 中。像
void foo(int a[const static 5])这样的语法不在 C++ 中。restrict不在 C++ 中。等等。这些语言的核心已经不可逆转地分道扬镳。从来没有打算让它们保持同步。 -
@MillieSmith -- 但don't-ask 建议问题应该是“合理的范围”。要求某人在答案中查看包含 53 个功能的列表似乎会让人相信“范围合理”。
-
花了 15 分钟浏览它们。当然,可能会犯一些错误......但是一些 C++ 人可能会进行校对。
-
几年后,随着 C++ 的发展,这个好问题将失去精确性。考虑将问题命名为 C++ 的特定版本。 (可能是 2017 年的最后两个。)