#pragma once 和#ifndef ... #define ... #endif 比较
来源:互联网 发布:js中onchange事件 编辑:程序博客网 时间:2024/06/05 18:59
C++中防止头文件被多次include 的常见方式有:
1) 用#ifndef ... #define ... #endif 宏
#ifndef __MYHEADER_H__
#define __MYHEADER_H__
// Here is my class ...
#endif
2) 用 #pragma once
#pragma once
// Here is my class ...
建议使用 #pragma once ,原因:
1) 代码简洁,维护性比较好。 #pragma once 显然比 #ifndef ... 要简短许多,而且避免了__MYHEADER_H__ 重定义 或者 #endif 包含范围错误的情况
2) 编译速度快。 使用 #ifndef 的话,编译器每次看到#include这个文件都需要读入文件,解析代码。 而使用#pragma once 编译器根本不会重复打开文件, 大大提高了效率。
以上两点在大型C++工程中表现得尤为突出。
注: #pragma once 不是国际标准, 只是微软C++ 的一个功能, 但现在多数主流C++编译器也都实现了这个功能。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/shenzi/archive/2009/05/04/4148545.aspx
- #pragma once 和#ifndef ... #define ... #endif 比较
- #pragma once 和#ifndef ... #define ... #endif 比较
- #pragma once 和#ifndef ... #define ... #endif 比较
- #pragma once 和#ifndef ... #define ... #endif 比较
- #pragma once 和#ifndef ... #define ... #endif 比较
- #pragma once 和#ifndef ... #define ... #endif 比较
- [Windows编程] #pragma once 和#ifndef ... #define ... #endif 比较
- #pragma once 和 #ifndef,#define,#endif
- #ifndef,#define,#endif和#pragma once
- #pragma once和#ifndef,#define,#endif
- #pragma once与#ifndef #define #endif的区别 (比较全)
- #pragma once 与 #ifndef...#define...#endif的比较
- 小议#pragma once 和 #ifndef #define #endif的区别
- #pragma once 和 #ifndef ... #define ... #endif 的区别【转载】
- #pragma once和#ifndef / #define / #endif的区别
- #pragma once 和 #ifndef ... #define ... #endif 的区别【转载】
- #pragma once和#ifndef,#define,#endif的区别
- #ifndef..#define..#endif和#pragma once的区别
- java5
- SQL SERVER 2000 连接不上的解决方法
- java6
- 裁减Image
- java7
- #pragma once 和#ifndef ... #define ... #endif 比较
- 通过出错地址查找代码行
- js 清空select方法
- 回顾2009 (The working summary of 2009)
- Rational Rose测试解决方案
- C#成员可访问性
- 随想
- 苹果电脑CEO史蒂夫 乔布斯(Steve Jobs)在 Stanford 2005毕业典礼上的演讲
- SharpICTCLAS分词系统简介(