2012-11-04 58 views

回答

9

標準庫是該語言的一部分。爲了表達僅與語法規則,語義規則等有關的語言的子集,而不是與庫一起使用,人們使用術語核心語言。例如,在C++委員會中有一個名爲「核心工作組」(CWG)和「圖書館工作組」(LWG)的工作組。

2

人們經常指C++的一切,除了標準庫,它也是語言規範的一部分。

作爲一個更權威的例子Stephan T. Lavavej(STL)是Microsoft的一名關鍵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(幾乎?)只關注核心的語言,但有也許更多。

+3

除STL之外的所有內容都將包含流和字符串。 :) – Xeo

+0

不要責怪信使;) –

+0

第17條也是圖書館的一部分,我會質疑委員會中大多數人稱之爲標準模板庫,他們稱之爲標準圖書館 –

1

Johannes的answer解釋了「核心語言」的含義。在具體的情況下,你詢問它的意思是n3050的核心語言部分在GCC4.7中實現,但不一定是庫部分(適用於第17-30條的那些紙張變化)

事實上,一些庫變更也在GCC 4.7中實現,但庫狀態已記錄elsewhere

相關問題