/*
2017-12-20 创建人:Ruo_Xiao
*/
一、#pragma once
- 作用:只要在头文件的最开始加入这条指令就能够保证头文件被编译一次。
- 最先应用与MicroSoftware Visual C++中,后来陆续被其他编译器所支持,所以不支持跨平台。
- 只能对此文件有效,若一个文件有多个拷贝,且工程包含了这些拷贝文件,那么这些文件都会加入到工程中。
二、#ifndef … #define … (声明) #endif
- 作用:防止该头文件被重复包含。
- 受C/C++语言标准支持,所有支持C++的编译器都支持此预编译指令,所以支持跨平台。
- 只要文件内容相同就可防止,即使一个文件的拷贝文件亦可避免重复包含,因为这个是通过宏指令进行判断的。
- 缺点:如果ifndef使用的宏之前已经存在了,那么这种方法就会失效,会报找不到类型声明的错误。
三、实例代码
#ifndef __ClassName__H__
#define __ClassName__H__
(各种声明)
#endif
----------
#pragma once
(各种声明)