【C/C++】头文件防卫式宏

本篇简单介绍头文件防卫式宏 Header Guard

其目的是:为了防止头文件被多次包含导致编译错误,保证每个头文件内容只被包含一次。

做法是在 .h 头文件开头结尾加上下列代码:

c 复制代码
#ifndef PRO_H
#define PRO_H
//......
#endif

C++11之后,可以使用 #pragma once,效果一样,但写起来更简单:

c 复制代码
#progma once
//......

#pragma once 是编译器扩展,不是标准,不过大部分主流编译器GCCClangMSVC 都支持了。

所以使用二者任一都可以,以上便是本篇所有内容,谢谢。

相关推荐
worilb5 分钟前
Java/JVM 常见诊断文件对比
java·开发语言
ttwuai7 分钟前
Go 后台初始化 MySQL 脚本失败怎么办?先查 DDL 还是生成配置
开发语言·mysql·golang
cpp_learner8 分钟前
C++ 实现责任链模式(Chain of Responsibility):从一堆 if-else 到可插拔的处理管道
c++·设计模式
2601_9628857210 分钟前
如何用 Python 做 A 股全市场扫描选股?(多条件筛选实战)
开发语言·python
奈斯先生Vector21 分钟前
AIGC 视频生成换个拍法:用 Kling Video 把一张人物图变成可剪辑的短故事
开发语言·人工智能·windows·python·aigc·音视频
一木 之林23 分钟前
五、C++ 新特性、关键字与编译原理(进阶)(一)
c语言·开发语言·c++
2601_9622982725 分钟前
交易开拓者通常使用什么编程语言?这种语言如何帮助自动化交易?
java·c++·python·编程语言·自动化交易
秋名RG29 分钟前
Java IO 体系深度剖析:从流式编程到 JDK 21 高并发陷阱
java·开发语言
码匠许师傅30 分钟前
【设计模式精讲】23.备忘录模式(Memento)
c++·设计模式·软件工程·uml·备忘录模式
Pocker_Spades_A39 分钟前
Python快速入门专业版(五十九):re实战——用正则爬取豆瓣电影Top250(全流程解析)
开发语言·python