C/C++中头文件格式

本文介绍了C/C++中头文件包含的区别,`#include "file"`优先搜索当前目录,然后是标准目录,而`#include <file>`只搜索标准目录。C++中,`#include <iostream>`需配合`using namespace std;`,但自定义头文件如`student.h`不需要此语句,因为它们不涉及命名空间。同时,`iostream.h`是为兼容C而存在的,但在现代C++中应使用`iostream`。

关于C/C++的头文件格式之前就有所了解,今天在看C++的时候再次看到,决定把这个记录下来。

先来看一段代码:

                 

这里include"student.h"不能写成include<student.h>。

原因在于:""首先搜索当前目录,当前目录没有,再搜索头文件的标准目录,<>只搜索头文件的标准目录。


另外还有一个问题,来看一下下面两段代码:

                                                                                   

这两段代码都能编译通过。原因是在C++中#include<iostream> using namespace std;为标准写法,为了兼容C仍允许使用原有带.h的头文件的写法,而C语言中无命名空间所以带.h的头文件不必使用“using namespace std;”。


但仍存在一个疑问,

我们将最上面第一个代码中的换成后运行,

程序蹦错:

想了下发现主要问题出在“student.h”的头文件是自己写非系统的,所以即使你写上“using namespace std;”,编译时只能找到"student.h"文件而没有"student"文件。

而对于“iostream”系统中既有“iostream”文件也有“iostream.h”文件,后者只是为了兼容C,而采用前者时文件中的命名需要用到命名空间而已。


至此,大概对C/C++的头文件的格式能区分得清爽些了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值