c++中的头文件

头文件在C++中用于存放函数声明,提高代码可读性和编译效率。为了避免重复包含导致的错误,可以使用#pragmaonce或#ifndef预处理器指令。#include<>用于查找系统库文件,则从项目文件夹开始找自定义文件。
摘要由CSDN通过智能技术生成

为什么需要头文件?

在编写项目时,为了增加代码的可读性,往往会将主函数和其它功能模块写在不同的cpp文件,为了让编译器在不同的cpp文件中能识别所有的函数名,需要在所有的cpp文件中加入这些函数的声明。如果是这样的话,每写一个新的模块,就要重新声明一遍函数,这显然是重复的劳动。为了提高效率,引入了头文件。
在头文件中可以放入所有函数的声明(只是声明,不需要实体),然后用另一个cpp文件存储所有函数的实体,这样在每个cpp文件的开始部分使用#include就可以将这些声明粘贴到当前的cpp文件中,然后链接器就可以在存储函数实体的cpp文件中找到这些函数的完整定义。

#pragma once

看下面的例子,common.h头文件包含了log.h头文件的内容,有一个cpp文件同时include了common和log两个头文件,这就会导致log.h头文件被引入了两次,会因为结构体变量Player被重复定义而报错。

// log.h
#pragma once
void Log();
void InitLog();
struct Player{};
//common.h
#include "log.h"
#include "common.h"
#include "log.h"

#ifndef

这是早些时候会使用的记法,如果_LOG_H未被定义,那么就会执行define定义_LOG_H, 同时执行下面所用的declaration,反之如果发现_LOG_H已经被定义,那么就不会执行下面的declaration。通过这样的方式也可以避免重复的include

#ifndef _LOG_H
#define _LOG_H
void InitLog();
void Log(const char* message);
struct Player{};
#endif

#include中<>和“”的区别

#include<>: 从系统类库目录查找该文件,一般用于系统头文件
#include"": 从当前的项目文件夹开始查找,一般用于自定义头文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值