C++里面保护宏的用法
来源:互联网 发布:淘宝高仿衣服店推荐 编辑:程序博客网 时间:2024/06/18 04:59
C++中防止头文件被包含两次有两种方法解决:
A:保护宏
- #ifndef _ABCDE_H
- #define _ABCDE_H
- /*
- 代码部分
- */
- #endif
在被包含过一次之后,宏_ABCDE_H已经有了,下次再碰到就会略过从#define _ABCDE_H开始到#endif之间的代码
B:还有一种特定编译器支持的指令:
- b.#pragma once
能保证该文件(物理上的)只被编译一次,也能起到防止重复包含的作用
但这2种方式是有区别的:
a.Macro guard可移植性好,绝大多数编译器都支持,而且万一不小心拷贝了几分相同的代码也不会出问题,但你得确保这个宏名不会与其他的宏冲突,否则等编译器报出一大堆错误的时候你可能会觉得莫名其妙;
b.#pragma once指令简单,它能保证该文件(物理上的)只被编译一次,不用去费劲的想不同的宏名,但如果有几份该文件的拷贝,显然起不到作用。
- C++里面保护宏的用法
- C/C++里面const的用法
- C++ 文件里面调用C文件里面的函数——extern "C" 用法解析
- c 中保护宏的作用
- c语言里面的宏定义
- c语言宏里面#号的作用
- 关于C里面宏替换的问题
- 关于C里面宏替换的问题
- c语言宏里面#号的作用
- 关于C里面宏替换的问题
- C里面的const
- flex里面Accordion的用法
- bash 里面的 if 用法
- MFC里面的一些用法
- vc里面关于"\"的用法
- OpenERP里面继承的用法
- WPF里面的TypeConverter用法
- hibernate里面的Restrictions用法
- sql日期格式化
- 破解Visual SVN
- 找到一些宝贝
- 有效的使用和设计COM智能指针——条款11:以类型安全的方式创建资源和查询接口
- Hibernate的dialect大全
- C++里面保护宏的用法
- placement new, operator new and new operator
- C/C++处理错误
- 重读 Spring 3 开发手册 总结 一
- web测试入门
- 第二季
- hadoop ganglia configuration
- 设计模式(1)——原则
- 结构体和类区别