📚博客主页:knighthood2001
✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下)
🎃知识星球:【认知up吧|成长|副业】介绍
❤️如遇文章付费,可先看看我公众号中是否发布免费文章❤️
🙏笔者水平有限,欢迎各位大佬指点,相互学习进步!
我们在新建一个.h头文件的时候,默认会有#pragma once。
那这个到底是做啥用的。
#pragma once
是一种预处理指令,通常用于 C 或 C++ 的头文件(.h
文件)中。它的作用是确保同一个头文件不会被多次包含,从而避免多重包含带来的问题,例如重复定义的错误。
具体作用包括:
-
避免多重包含: 头文件经常会被其他源文件或者头文件包含多次,如果没有适当的防范措施,这可能导致重复定义的问题。
#pragma once
可以确保同一个头文件在同一个编译单元(Translation Unit)中只被包含一次,从而避免了重复定义的错误。 -
提高编译效率: 使用
#pragma once
可以减少预处理器的工作量,因为它能够快速判断一个头文件是否已经被包含过,而不需要像传统的头文件保护宏(#ifndef
,#define
,#endif
)那样进行条件判断。
使用 #pragma once
的语法非常简单,只需在每个头文件的开头写上这一行即可,例如:
#pragma once
// 此处是头文件的内容
需要注意的是,#pragma once
是非标准的预处理指令,但几乎所有主流的编译器都支持它,并且它已经成为了很多项目中推荐使用的头文件包含保护方式。