Mic*_*ein -1 c c++ language-lawyer c++17 c17
我注意到C ++ 17中的许多新功能来自C17。两种标准之间有关系吗?C函数和它们的C ++等效项之间是否有实际区别?
C ++ 17是基于C17的吗?
没有。
如果现在是C11,那么它最晚是C ++ 17的C11。
这是一个相关的提案(尽管我不确定采用的正是该提案)。
我注意到C ++ 17中的许多新功能来自C17。
我没有 我没有比较两者。如果两者都添加了相似的功能,则可能是偶然的。但是,由于C17实际上只是对C11的“错误修复”更新,因此似乎不太可能。
两种标准之间有关系吗?
不是,不是 当然,两个工作组将互相交谈,但是两种语言是独立的。
C函数和它们的C ++等效项之间是否有实际区别?
没有具体的例子,我不能说,但是同样,您应该将它们视为独立的事物。
就其“继承”的库和语言功能而言,C ++仅“基于”C。但是,请注意,这并不是将C11批量导入C ++ 17;那不是它的工作原理。
顺便说一句,尽管术语“ C17”是它的一个公认的(并且是广泛使用的)名称,尽管它的__STDC_VERSION__
宏是201710L
,但它实际上是 “ C18”(技术上是ISO / IEC 9899:2018)。
(CF C ++ 98周的__cplusplus
是199711L
,这就是时机是如何工作了,有时,当出版象已经同意和冷冻的东西后稍稍延伸到下一年。)