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

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

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

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

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

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

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

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

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

相关推荐
lkbhua莱克瓦241 分钟前
反射4-反射获取成员变量
java·开发语言·servlet·反射
dawnButterfly2 分钟前
C 语言标准、编译器与操作系统的关系
c语言·开发语言·c++
程序员龙一5 分钟前
进程、线程、协程通俗讲解与对比
c++·线程·进程·协程
风景的人生6 分钟前
一台电脑上可以同时运行多个JVM(Java虚拟机)实例
java·开发语言·jvm
世转神风-25 分钟前
qt-float转QByteArray-二进制存储-数据存储(IEEE 754标准)
开发语言·qt
linksinke26 分钟前
在windows系统上搭建Golang多版本管理器(g)的配置环境
开发语言·windows·golang
Dream it possible!29 分钟前
LeetCode 面试经典 150_回溯_单词搜索(104_79_C++_中等)
c++·leetcode·面试·回溯
59803541533 分钟前
【java工具类】小数、整数转中文小写
android·java·开发语言
superman超哥33 分钟前
仓颉语言智能指针深度实战:突破 GC 与所有权的边界
c语言·开发语言·c++·python·仓颉
cike_y33 分钟前
Mybatis之作用域(Scope)和生命周期-解决属性名和字段名不一致的问题&ResultMap结果集映射
java·开发语言·数据库·tomcat·mybatis