设计是权衡——实现多版本函数的代码中宏的位置
来源:互联网 发布:superjunior厂牌知乎 编辑:程序博客网 时间:2024/06/01 11:28
比较下面两种代码:
代码一:
#ifdef MY_MACROvoid MyFunction(...) { ......}#elsevoid MyFunction(...) { ......}#endif
代码二:
void MyFunction(...) {#ifdef MY_MACRO ......#else ......#endif}
前者无疑比后者清晰,它们分离成独立的函数,但事实上它们并不是没有关联的独立函数。它们接口相同,必须满足相同的语义。前者的写法斩断这种关联换来清晰的代码,其中的一个代价是修改其中一个函数的接口可能会忘记修改另一个。
- 设计是权衡——实现多版本函数的代码中宏的位置
- 项目中修改的权衡
- 代码高效性和健壮性的权衡
- 代码高效性和健壮性的权衡
- 人工智能——科技与伦理的权衡?
- 权衡主义哲学是构建和谐社会与大同世界的理论基石
- openssl中PKCS12_free函数的位置及实现方式
- 多进程鱼多线程的权衡选择
- 权衡的艺术
- 权衡的艺术
- 权衡的艺术
- 异常处理的权衡
- 算法设计与分析-时间和空间的权衡
- css代码是放在html代码的哪个位置
- 如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
- 如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
- 定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
- 如何定位Release 版本中程序崩溃的位置 ---利用map文件 拦截windows崩溃函数
- 非计算机专业的同学,不见得也要追求计算机基础扎实
- Qt 之 ZIP开源库 QuaZIP
- 从dll文件或者def文件生成lib文件
- X264命令含参数实例与参数详解
- 利用STK计算卫星外表面接收的太阳直接辐射
- 设计是权衡——实现多版本函数的代码中宏的位置
- 中山大学东校区配置 OH3C 路由,oh3c 提示can't load library 'libz.so'
- 视频采集和处理
- 开闭原则
- [系统启动]Printk与sched_clock_init的一点分析
- Swing插件(拖拉控件)-vs4e的简单使用
- Android 软键盘盖住输入框的问题
- jquery中的$(this)和js的document.getElementById(this)的区别
- [转载]oracle 有关emp表的练习题