Reputation: 367
In C89 there're 15 header files:
<assert.h> <locale.h> <stddef.h> <ctype.h> <math.h>
<stdio.h> <errno.h> <setjmp.h> <stdlib.h> <float.h>
<signal.h> <string.h> <limits.h> <stdarg.h> <time.h>
What about the c++ standard?
Upvotes: 5
Views: 3609
Reputation: 11
75 in total i've counted:
(24 from C-Library, 11 Containers, 9 IO-put, 5 Multi-Threading, 26 Other ones)
Upvotes: 1
Reputation: 33089
The standard does not specify that the standard headers are even implemented as files at all. Take, <iostream>
for example: this need not correspond to a file on disc (as hinted at by the lack of .h
file name extension). Any appropriate (where appropriateness is determined by the vendor) persistence mechanism may be employed. Furthermore, any library vendor may choose to break up the headers into arbitrary subunits in any way that he sees fit as long as the same interface is exposed.
Upvotes: 0
Reputation: 340208
33 C++-specific ones:
<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 the 18 borrowed from C:
<cassert> <ciso646> <csetjmp> <cstdio> <ctime>
<cctype> <climits> <csignal> <cstdlib> <cwchar>
<cerrno> <clocale> <cstdarg> <cstring> <cwctype>
<cfloat> <cmath> <cstddef>
(<iso646.h>
, <wchar.h>
, and <wctype.h>
were added to the C standard in 1995)
Upvotes: 8