“核心语言”是什么意思?

时间:2012-11-04 18:37:31

标签: c++ gcc

在GCC文档的this page表格中,其中一个项目(大约在桌面的一半)被列为“核心语言”。那是什么意思?该语言的哪些部分不包括在内?

3 个答案:

答案 0 :(得分:11)

标准库是该语言的一部分。为了表达仅涉及语法规则,语义规则等但不涉及库的语言子集,人们使用术语核心语言。例如,在C ++委员会中有一个名为“核心工作组”(CWG)和“图书馆工作组”(LWG)的工作组。

答案 1 :(得分:3)

除了标准库之外,人们通常都指C ++的所有内容,标准库也是语言规范的一部分。

作为一个更权威的例子,Stephan T. Lavavej(STL)是微软的一名关键C ++开发人员。在他关于核心语言的系列讲座中,他将其定义为您可以访问的任何内容,而不包括任何标题。

他不认为自己是核心语言开发人员。例如,他在shared_ptr上工作,这是C ++ 11的一个基本部分,可以说比评论中提到的字符串和流更为基础。

C ++标准未提及核心语言,但标准库

17 Library introduction
18 Language support library
19 Diagnostics library
20 General utilities library
21 Strings library
22 Localization library
23 Containers library
24 Iterators library
25 Algorithms library
26 Numerics library
27 Input/output library
28 Regular expressions library
29 Atomic operations library
30 Thread support library

我认为第1-16章(几乎?)只关注核心语言,但可能还有更多。

答案 2 :(得分:1)

Johannes的answer解释了“核心语言”的含义。在特定的上下文中,您询问它意味着n3050的核心语言部分是在GCC 4.7中实现的,但不一定是库部分(适用于第17-30条的论文中的更改)

事实上,一些库更改也在GCC 4.7中实现,但库状态记录为elsewhere