dans la table sur Cette page de la documentation de la GCC, l'un des Les articles (à mi-chemin de la table) sont répertoriés uniquement comme «langue de base». Qu'est-ce que ça veut dire? Quelles parties de la langue ne seraient pas incluses? P>
3 Réponses :
La bibliothèque standard fait partie de la langue. Pour exprimer le sous-ensemble de la langue qui concerne uniquement les règles de la syntaxe, des règles sémantiques et non, mais pas avec la bibliothèque, les gens utilisent le terme langage de base em>. Par exemple, il existe un groupe de travail appelé «Groupe de travail de base» (CWG) et «Groupe de travail de la bibliothèque» (LWG) au Comité C ++. P>
Les gens signent souvent tout de C ++, à l'exception de la bibliothèque standard, qui fait également partie de la spécification linguistique.
comme exemple plus faisant autorité Stephan T. Lavavej (STL) est un développeur clé C ++ sur Microsoft. Dans sa série de conférences sur la la langue principale em> il le définit comme Il ne se considère pas Développeur de langue de base. Par exemple, il a travaillé sur La norme C ++ ne mentionne pas langage de base em>, mais la bibliothèque standard em> est p> Je dirais que le chapitre 1 à 16 est (presque?) Uniquement concerné par la langue principale, mais il peut y avoir plus. P> p> partagé_ptr code> qui est une partie fondamentale de C ++ 11, sans doute plus fondamentale que les chaînes et les flux des commentaires mentionnés. P>
Tout sauf que la STL comprendrait des ruisseaux et des chaînes. :)
L'article 17 fait également partie de la bibliothèque et je vais contester que la plupart des personnes du comité l'appelent la bibliothèque de modèles standard, ils l'appellent la bibliothèque standard.
Oui, 17 est une introduction. Lisez à nouveau, je n'ai pas prétendu avoir appelé la bibliothèque standard la STL.
Il y a un petit ensemble de choses qui sont intermédiaires entre Core et Bibliothèque; Ce sont eux dans 18 ans, la bibliothèque de support de langue. Des choses comme opérateur Nouveau code>,
Opérateur Supprimer code> et
type_info code>, qui nécessitent une coopération étroite entre le compilateur et la bibliothèque.
@Petebecker, opérateur nouveau est explicitement appelé bibliothèque standard dans la norme, mais je suppose que peu de discussions et pensez-y comme ça.
@Johanlundberg - Oui, mon point était qu'il y ait certaines choses b> dans la bibliothèque standard qui ont une connexion intime avec la langue principale. Opérateur Nouveau code> est un: le compilateur l'appelle même s'il n'y a pas d'appel à celui-ci dans le code source et même si vous n'avez pas # compris l'en-tête approprié.
Johannes's's Réponse explique ce que signifie "langue fondamentale" en général. Dans le contexte spécifique, vous posez des questions sur cela signifie que les parties linguistiques principales de N3050 sont implémentés dans GCC 4.7, mais pas nécessairement les parties de la bibliothèque (ces changements du papier qui s'appliquent aux clauses 17-30) P>
En fait, certaines modifications de la bibliothèque sont également implémentées dans GCC 4.7, mais l'état de la bibliothèque est documenté ailleurs P>