pragma once

#pragma once是一个常用的C/C++加注,在头文件最开始防止,能保证头文件(物理上)只被编译一次。

不是C++标准所规定,不同编译器支持不同。它的作用方式等同于常见的预处理头 #ifndef...#define...#endif

方式一:
#ifndef _SOMEFILE_H_
#define _SOMEFILE_H_
.......... // 一些声明语句
#endif
方式二:
#pragma once
... ... // 一些声明语句
 
方式一优点: 受标准支持;缺点:如果宏名一致,则不能发现。
方式二优点:物理上不编译,易于发现文件缺少等问题;缺点:不受标准支持,不同编译器设置不同。
 
参考:
https://en.wikipedia.org/wiki/Pragma_once
 
原文地址:https://www.cnblogs.com/ruichenduo/p/6914304.html