为什么把类定义成宏使用?定义成宏使用的目的是什么,有什么好处,一般应用在什么地方(比如接口)?
类似如下的定义(简单举个例子)
#define DEFOBJLIST(c) \
class c : public List {\
...\
...\
}
C++ 为什么把类定义成宏使用
答案:3 悬赏:50
解决时间 2021-02-22 21:21
- 提问者网友:枫涩帘淞幕雨
- 2021-02-22 12:11
最佳答案
- 二级知识专家网友:输掉的尊严
- 2021-02-22 13:20
这里看宏的名字和定义,可以猜测这个宏是用于为每种对象类型提供一种容器,类似于我们现在标准库中出现的一些模板类。我猜测这么定义只是因为当时没有出现支持模板的编译器,而是用宏来模拟模板机制。所以现在不推荐这种使用宏的方法。
宏常见的用法包括条件编译,生成代码等。
宏常见的用法包括条件编译,生成代码等。
全部回答
- 1楼网友:努力只為明天
- 2021-02-22 13:51
单例模式中。经常会用到。好处是简化代码。
再看看别人怎么说的。
- 2楼网友:迷人小乖乖
- 2021-02-22 13:34
要看写代码的人的目的,由于宏定义可以通过其他宏定义来改变。例如 vs里面就会在debug情况下多定义一个__DEBUG的宏,那么设计者即可以通过
#ifdef __DEBUG
#define DEFOBJLIST(c) \
class c : public List {\
...\
...\
}
#else
#define DEFOBJLIST(c) \
class c : public List2 {\
...\
...\
}
#endif
这样的目的区分出来。那么在List类里面加入各种调试信息(例如cout出各种变量)来达到调试效果。而在release下用List2的类则不加入这些会影响效果的调试信息。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯