使用宏避免多次包含
来源:互联网 发布:公需课挂机软件2017 编辑:程序博客网 时间:2024/05/22 12:02
在写程序是时考虑这样一种情况:如果头文件class1.h中声明了一个类,而这个类将class2.h中的声明作为类成员,则需要在class1.h中包含class2.h。如果设计非常复杂,即第二个类也需要第一个类,则class2.h中也包含class1.h.
然而在处理器看来,两个头文件彼此包含会导致递归问题,为了避免这种问题,可以结合使用宏以及预处理器编译指令#ifndef和#endif
包含head2.h的
#ifndef HEADER1_H_#define HEADER1_H_#include<header2.h>class Class1{ //class members};#endif
header2.h与此类似,但宏定义不同,包含的是
#ifndef HEADER2_H_#define HEADER2_H_#include<header1.h>class Class2{ //class members};#endif
虽然简答,但这种机制是需要掌握的,也是c++中最常用的宏功能之一
0 0
- 使用宏避免多次包含
- 避免多次使用if
- C++避免头文件被多次包含
- 避免同一个文件被多次包含
- 在c/c++中如何避免头文件被多次包含?
- C++ 头文件(十五)--定义成员属性、引用、避免多次包含
- C开发经验3:如何避免重复包含头文件多次
- 使用 sqldatareader 利用存储过程,一次读多个表,避免多次查询
- github使用SSH Clone工程避免多次输入用户密码
- 避免多次触发Page_Load
- 避免游标多次遍历
- 避免Toast多次弹出
- 避免多次点击PerfectClickListener
- 语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?
- StringBuffer避免文件多次写入
- 避免头文件多次编译
- 宏:集中定义,多次使用
- Android避免按钮被用户快速多次点击(setEnabled的使用)
- Android stdio Ndk HelloWorld
- 我们也说说Android.mk(5) - 案例教程
- 第一次正式java web开发项目的总结
- Block 分析
- myeclipse快捷键大全(转载)
- 使用宏避免多次包含
- RDB redis
- JavaScript 正则表达式——基本语法
- [struts2]单文件与多文件上传
- 结构体中的递归定义
- 前端的那些事
- 飞入购物车特效
- mysql分区--使用说明
- java.lang.OutOfMemoryError: Metaspace