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

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

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

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

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

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

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

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

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

相关推荐
David猪大卫3 分钟前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
HPtiger11 分钟前
C++ 入门笔记:从 C 到 C++ 的核心过渡(命名空间、输入输出、缺省参数、重载、引用、内联)
c语言·c++·学习
fengci.1 小时前
CTF2MISC中等部分
开发语言·前端·学习
xys_6783 小时前
JavaEE通关手册:初识Java
java·开发语言
努力努力再努力wz3 小时前
【Lua 进阶系列】从 C++ 对象到 Lua 变量:一文理解 userdata、Lua 栈与元表绑定机制
c++·junit·lua
慧都产品智能化3 小时前
Qt 表格升级攻略:复用已有编辑器,减少重复开发
c++·qt·编辑器·qt6.3
安妮细水长流4 小时前
ad7124
c语言·单片机
ShineWinsu4 小时前
对于Qt:QTableWidget常见属性以及QTableWidgetItem类的解析
开发语言·c++·qt·gui·客户端·表格·qtablewidget
ShineWinsu5 小时前
对于Qt:QListWidget常见属性以及QListWidgetItem类的解析
开发语言·c++·qt·客户端·列表·qlistwidget·qlistwidgetitem
坤坤子吖5 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json