一、#pragma once
- 作用:只要在头文件的最开始加入这条指令就能够保证头文件被编译一次。
- 最先应用与MicroSoftware Visual C++中,后来陆续被其他编译器所支持,所以不支持跨平台。
- 只能对此文件有效,若一个文件有多个拷贝,且工程包含了这些拷贝文件,那么这些文件都会加入到工程中。
二、#ifndef … #define … (声明) #endif
- 作用:防止该头文件被重复包含。
- 受C/C++语言标准支持,所有支持C++的编译器都支持此预编译指令,所以支持跨平台。
- 只要文件内容相同就可防止,即使一个文件的拷贝文件亦可避免重复包含,因为这个是通过宏指令进行判断的。
- 缺点:如果ifndef使用的宏之前已经存在了,那么这种方法就会失效,会报找不到类型声明的错误。
三、实例代码
#ifndef __ClassName__H__
#define __ClassName__H__
(各种声明)
#endif----------#pragma once
(各种声明)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!