C++17 是基于 C17 的吗?
Is C++17 based on C17?
我注意到 C++17 中的许多新功能都来自 C17。这两个标准之间有什么关系吗? C 函数和它们的 C++ 等效函数之间有什么实际区别吗?
从 C++17 开始,C++ 标准 refers to C11 (this proposal was adopted to ve the part of C++17 in 2016),而不是 C17。但我不会称它为 "based on".
此外,C++ 和 C 标准是由不同的工作组制定的,这些工作组并不真正交叉,因此它们之间没有直接关系(尽管在很容易的情况下会努力保持 C 和 C++ 功能的同步做 so/makes 感觉)。
Is C++17 based on C17?
没有
The normative reference for C++ as of the current working draft is C11.
如果现在是 C11,那么 C++17 最迟C11。
Here's a related proposal(虽然我不确定是否正是这个提案被采纳)。
I have noticed that many of the features new in C++17 were from C17.
我没有。我没有比较过两者。如果两者都添加了相似的功能,那很可能是 co-incidence。但是,由于 C17 实际上只是对 C11 的 "bug fix" 更新,因此似乎不太可能。
Is there any relation between the two standards?
不是,不是。两个工作组当然会互相交流,但是两种语言是独立的。
Are there any practical differences between the C functions and their C++ equivalents?
没有具体的例子我不能说,但你还是应该把这些看作是独立的东西。
C++ 在库和语言功能方面仅 "based on" C,它 "inherits"。但是请注意,这并不是将 C11 批量导入 C++17; that's not how it works.
顺便说一下,虽然术语 "C17" 是一个公认的(并且广泛使用的)名称,而且尽管它的 __STDC_VERSION__
宏是 201710L
,但它是 真的 "C18"(技术上ISO/IEC 9899:2018)。
(c.f。C++98 的 __cplusplus
是 199711L
;这就是有时时间安排的方式,当发布稍微延伸到后续一年后,类似的事情已经达成一致并被冻结。)
绝对不会
C和C++是不同的语言,它们的涉及树完全不同。
顺便说一下,只要我知道它是 c11
我注意到 C++17 中的许多新功能都来自 C17。这两个标准之间有什么关系吗? C 函数和它们的 C++ 等效函数之间有什么实际区别吗?
从 C++17 开始,C++ 标准 refers to C11 (this proposal was adopted to ve the part of C++17 in 2016),而不是 C17。但我不会称它为 "based on".
此外,C++ 和 C 标准是由不同的工作组制定的,这些工作组并不真正交叉,因此它们之间没有直接关系(尽管在很容易的情况下会努力保持 C 和 C++ 功能的同步做 so/makes 感觉)。
Is C++17 based on C17?
没有
The normative reference for C++ as of the current working draft is C11.
如果现在是 C11,那么 C++17 最迟C11。
Here's a related proposal(虽然我不确定是否正是这个提案被采纳)。
I have noticed that many of the features new in C++17 were from C17.
我没有。我没有比较过两者。如果两者都添加了相似的功能,那很可能是 co-incidence。但是,由于 C17 实际上只是对 C11 的 "bug fix" 更新,因此似乎不太可能。
Is there any relation between the two standards?
不是,不是。两个工作组当然会互相交流,但是两种语言是独立的。
Are there any practical differences between the C functions and their C++ equivalents?
没有具体的例子我不能说,但你还是应该把这些看作是独立的东西。
C++ 在库和语言功能方面仅 "based on" C,它 "inherits"。但是请注意,这并不是将 C11 批量导入 C++17; that's not how it works.
顺便说一下,虽然术语 "C17" 是一个公认的(并且广泛使用的)名称,而且尽管它的 __STDC_VERSION__
宏是 201710L
,但它是 真的 "C18"(技术上ISO/IEC 9899:2018)。
(c.f。C++98 的 __cplusplus
是 199711L
;这就是有时时间安排的方式,当发布稍微延伸到后续一年后,类似的事情已经达成一致并被冻结。)
绝对不会 C和C++是不同的语言,它们的涉及树完全不同。 顺便说一下,只要我知道它是 c11