2010-10-15 13 views

risposta

8

33 C++ - quelli specifici:

<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> 

Inoltre il 18 preso in prestito da C:

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

(<iso646.h>, <wchar.h>, e <wctype.h> sono stati aggiunti alla serie C nel 1995)

+0

Si può elaborare quanto è 'wchar .h' convertito in 'cwchar'? Basta rinominarlo? – tem

+2

Le intestazioni prese in prestito sono le stesse di C tranne che i nomi sono messi nello spazio dei nomi 'std' e" tranne come notato "dalla parte della libreria dello standard C++. Le eccezioni sono cose come indicare che 'offsetof' è definito per funzionare solo sui tipi di POD, ecc. Per quasi tutti gli intenti, la libreria C viene portata in C++ così com'è. –

+0

+1 bello, non sapevo che ce ne fossero così pochi :) –

0

Lo standard non specifica che le intestazioni standard siano addirittura implementate come file. Take, <iostream> ad esempio: questo non deve corrispondere a un file su disco (come suggerito dalla mancanza dell'estensione del nome file .h). Può essere impiegato qualsiasi appropriato (laddove l'appropriatezza è determinata dal venditore) meccanismo di persistenza. Inoltre, qualsiasi venditore di librerie può scegliere di suddividere le intestazioni in sottounità arbitrarie in qualsiasi modo che ritenga opportuno purché sia ​​esposta la stessa interfaccia.

+0

In C ci sono c89 e c99, che dire di C++? C'è qualche aggiornamento dal momento che esce? – tem

1

75 in totale ho contati:

(24 da C-Library, 11 contenitori, 9 IO-put, 5 Multi-Threading, 26 altri quelli)

Problemi correlati