#pragma once 与 #ifndef 区别
来源:互联网 发布:windows忘记开机密码 编辑:程序博客网 时间:2024/05/16 23:57
该文章转自 iamoyjj,网址是 http://blog.csdn.net/iamoyjj/article/details/6130095
#pragma once
和
#ifndef XXX
#define XXX
...
#endif
同样是预处理指令,都可以用来保证头文件不被多次包含。但是它们之间存在着一些差别:
#pragma once 非标准,而且并非所有编译器都支持
#ifndef XXX
#define XXX
...
#endif
是通用的,符合C++标准的。
使用#pragma once的文件,编译器在读到#pragma once 这行的时候就略过这个文件的解析。
而使用 #ifndef 的方式,由于编译器不能忽略在#endif之后可能还存在的字符。仍然会扫描文件。
所以使用#pragma once可以提高预处理的速度。
综合两者特性的写法:
#ifndef XXX
#define XXX
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER
...
...
#endif // XXX
这样即保证可移植性,又尽可能的利用编译器的特性来提高预处理的效率。
- #pragma once 与 #ifndef 区别
- #pragma once 与 #ifndef 区别
- #Pragma once与#ifndef区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- #pragma once与#ifndef的区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- #ifndef与#pragma once的区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- #pragma once与 #ifndef的区别
- 王爽汇编第二版检测点15.1(整理)
- java 概念
- android学习(一)——基础配置
- 如何在Html里显示"<"和">"
- CUDA
- #pragma once 与 #ifndef 区别
- java中类的生命周期
- 一些常用而且必须记住的公共JS函数
- 国外人工智能牛人主页
- oracle 9i 性能调优5
- 利用VBSript 在 PowerDesigner中实现数据库建模操作批量化
- C++与QML文档之间传复杂数据结构(如结构体)
- 用POI HSSF处理EXCEL表格
- hdu 3517 Adopt or not