关于#include中的C++头文件的一些知识

新的C++标准中,生成新头文件的方法仅仅是将现有C++头文件名中的.h去掉。例如,<iostream.h>变成了<iostream>,<complex.h> 变成了<complex>等。对于C头文件,采用同样的方法,但在每个名字前还要添加一个c。所以C的<string.h> 变成了<cstring>,<stdio.h>变成了<cstdio>等。 

旧的C++头文件是官方所反对使用的(明确列出不再支持),但旧的C头文件则没有(以保持对C的兼容性)。
下面是C++头文件的现状:
·   旧的C++头文件名如 <iostream.h> 将会继续被支持,尽管它们不在官方标准中。这些头文件的内容不在名字空间std中。
·   新的C++头文件如 <iostream> 包含的基本功能和对应的旧头文件相同,但头文件的内容在名字空间std中。(在标准化的过程中,库中有些部分的细节被修改了,所以旧头文件和新头文件中的实体不一定完全对应。) 
·   标准C头文件如 <stdio.h> 继续被支持。头文件的内容不在std中。 
·   具有C库功能的新C++头文件具有如 <cstdio> 这样的名字。它们提供的内容和相应的旧C头文件相同,只是内容在std中。 

=====================================

=====================================

#include 后的文件名用尖括号(<>)括起来,说明这个头文件是系统提供的,编译程序时,编译器会直接到系统目录下去查找该头文件并加载之。
#include 后的文件名用引号("")引起来,一般用于自定义头文件,当编译程序时,编译器会先到当前工程目录下去寻找该文件,如果找不到会再到系统目录下去寻找。如:我们采用多文件结构定义一个类的时候,类的声明写在:类名.h中,;类的实现写在类名.cpp中,我们需要在类名.cpp中加上头文件"类名.h";如果双引号内写入完整的路径名称,编译器只会在指定的路径下找不会去系统INCLUDE路径。

另外,在标准c++中头文件是不带后缀.h的:
即:#include <iostream.h>应该写为#include <iostream>,也许有人会问,如果这样子写,不能在程序中直接使用cout/cin等,的确,因为采用#include <iostream>要包含命名空间std才能直接使用cout/cin,否则就要在该头文件中定义的函数/变量前加上std::来表示调用函数/变量的来源...
还有一点,大家会发现好多头文件是以字母c开头的,如:cmath,cstdio,cstring等,因为这些是继承的c的头文件,用来区分c++自己的头文件,c++中可以使用#include <math.h>来直接使用c的头文件,但是不赞成使用该方法,建议使用#include <cmath>.....


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值