tem
tem

Reputation: 367

How many header files are there in c++ standard?

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

Answers (3)

Mohamed A. Negm
Mohamed A. Negm

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

Richard Cook
Richard Cook

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

Michael Burr
Michael Burr

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

Related Questions