2010-10-15 12 views

Répondre

8

33 C++ - les spécifiques:

<algorithm> <iomanip> <list>  <queue>  <streambuf> 
<bitset>  <ios>  <locale> <set>   <string> 
<complex>  <iosfwd>  <map>  <sstream>  <typeinfo> 
<deque>  <iostream> <memory> <stack>  <utility> 
<exception> <istream> <new>  <stdexcept> <valarray> 
<fstream>  <iterator> <numeric> <strstream> <vector> 
<functional> <limits>  <ostream> 

plus les 18 empruntés à C:

<cassert> <ciso646> <csetjmp> <cstdio> <ctime> 
<cctype> <climits> <csignal> <cstdlib> <cwchar> 
<cerrno> <clocale> <cstdarg> <cstring> <cwctype> 
<cfloat> <cmath> <cstddef> 

(<iso646.h>, <wchar.h> et <wctype.h> ont été ajoutés à la norme C en 1995)

+0

Pouvez-vous préciser comment est 'wchar .h' converti en 'cwchar'? Juste le renommer? – tem

+2

Les en-têtes empruntés sont identiques à C sauf que les noms sont placés dans l'espace de noms «std» et «sauf indication contraire» par la partie bibliothèque de la norme C++. Les exceptions sont des choses comme indiquer que 'offsetof' est défini pour fonctionner uniquement sur les types POD, etc. Pour à peu près toutes les intentions, la bibliothèque C est introduite dans C++ tel quel. –

+0

+ 1 gentil, je ne savais pas qu'il y en avait si peu :) –

0

La norme ne spécifie pas que les en-têtes standard sont même implémentés en tant que fichiers. Prenez, <iostream> par exemple: cela ne doit pas correspondre à un fichier sur le disque (comme suggéré par l'absence de .h extension de nom de fichier). Tout mécanisme de persistance approprié (lorsque le caractère approprié est déterminé par le vendeur) peut être utilisé. De plus, n'importe quel vendeur de bibliothèque peut choisir de fractionner les en-têtes en sous-unités arbitraires de la manière qu'il juge appropriée tant que la même interface est exposée.

+0

En C il y a c89 et c99, qu'en est-il de C++? Y a-t-il une mise à niveau depuis sa sortie? – tem

1

75 au total j'ai compté:

(24 de C-Library, 11 conteneurs, 9 IO-vente, 5 Multi-Threading, 26 autres)