
简单介绍了C++头文件声明与C语言的差异,并对常见的部分头文件作了介绍。
//C++中常用写法
#include < iostream > //引用C++标准头文件库
using namespace std; //使用名字空间
最简单的C++程序往往是上面这样声明头文件。
#include为C/C++中包含头文件命令,用于将指定头文件嵌入源文件中。#include一般用在C、C++等语系的编译环境(编程软件的编程代码)中,也即告诉你,在这个地方要插入一堆代码,而这堆代码在另一个文件里。
iostream是C++的一个头文件库,在安装C++环境的时候就已安装于电脑中,只需要用include将该它包含进来,就可以使用它的代码。
C++已把标准C++库的组件放在一个名位std的namespace里面中,如果include头文件的时候加上.h,默认有using namespace,否则需要自己加上 using namespace std。
因此若没有第二行语句,cout就会没有定义,除非使用cout时写成 std :: cout,即指明其来自空间std 。
按照C语言规则声明则是下面这样:
#include < iostream. h > //引用头文件,不需要声明名字空间
不加.h的是现在C++中规定的标准,目的在于使C++代码用于移植和混合嵌入时不受扩展名.h的限制,避免因为.h而造成的额外的处理和修改。而加.h是c语言的用法,但是在c++中也支持这种用法,主要是为了向下兼容c 的内容,平时尽量不用这种方法 。
在C++程序中,头文件不再以“ .h”结尾,一些在C语言中常用的头文件在C++中的名字变为去掉“ .h”,并在开头增加字符 c 。例如:
#include < cstdio > //标准化后经过改造的C标准库,所有的组件都放在了std中
#include < cstring > //C++标准库下,基于char* 的字符处理函数库
#include < string > //增加了C++类的字符处理函数库
#include < cstdlib >
#include < bits/stdc++.h> //号称万能库,在大部分情况下使用这一行就可以省去其他库的生声明
<stdio.h>是以往C和C++的头文件,<cstdio>是标准C++(STL)函数库中的头文件,且cstdio中的函数都定义在一个名称空间std里面,如果要调用这个名字空间的函数,须加“std :: ”或者在文件中声明using namespace std。
<string.h>是标准C提供的字符处理函数集。面向char *.。<cstring>是C++为兼容C提供的<string.h>的C++版本,里面的主要改进有:将一些隐藏变量编入命名空间;修正一些C++编译器认为Bug的代码。
<stdlib.h>可以提供一些函数与符号常量,<cstdlib>是C++为兼容C提供的版本。
提供以下类型:
size_t, wchar_t, div_t, ldiv_t, lldiv_t。
提供以下常量:
NULL, EXIT_FAILURE, EXIT_SUCCESS, RAND_MAX, MB_CUR_MAX
提供以下函数:
atof, atoi, atol, strtod, strtof, strtols, strtol, strtoll, strtoul, strtoull, rand, srand, calloc, free, malloc, realloc, abort, atexit, exit, getenv, system, bsearch, qsort, abs, div, labs, ldiv, llabs, tlldiv, mblen, mbtowc, wctomb, mbstowcs, wcstombs
其他头文件用到再去查即可。