c ++标准中有多少个头文件?

时间:2010-10-15 06:38:35

标签: c++ c header standards

在C89中有15个头文件:

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

c ++标准怎么样?

3 个答案:

答案 0 :(得分:8)

33 C ++ - 特定的:

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

加上从C借来的18:

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

(1995年将<iso646.h><wchar.h><wctype.h>添加到C标准中

答案 1 :(得分:1)

我总共计算了75个:

(24个来自C-Library,11个容器,9个IO-put,5个多线程,26个其他)

答案 2 :(得分:0)

标准没有指定标准标题甚至根本不作为文件实现。以<iostream>为例:这不需要与光盘上的文件相对应(正如缺少.h文件扩展名所暗示的那样)。可以采用任何适当的(在适当的情况下由供应商确定)持久性机制。此外,只要暴露了相同的接口,任何库供应商都可以选择以任何他认为合适的方式将标题拆分为任意子单元。