宏元编程——算数计算——INC,DEC
2016-03-04 17:40
211 查看
实现思路:宏展开无法在预编译期完成“真正”的算数计算,但是我们可以定义一张静态表,例如:遇到INC(5)就替换成 6,遇到DEC(8)就替换成7。
TL_INC实现:
TL_DEC实现:
测试结果:
TL_INC实现:
#include "tl/cat.h" #define TL_INC(n) TL_CAT(TL_INC_,n) #define TL_INC_0 1 #define TL_INC_1 2 #define TL_INC_2 3 #define TL_INC_3 4 #define TL_INC_4 5 #define TL_INC_5 6 #define TL_INC_6 7 #define TL_INC_7 8 #define TL_INC_8 9 #define TL_INC_9 10 #define TL_INC_10 11 #define TL_INC_11 12 #define TL_INC_12 13 #define TL_INC_13 14 #define TL_INC_14 15 #define TL_INC_15 16 #define TL_INC_16 17 #define TL_INC_17 18 #define TL_INC_18 19 #define TL_INC_19 20 #define TL_INC_20 21 #define TL_INC_21 22
TL_DEC实现:
#include "tl/cat.h" #define TL_DEC(n) TL_CAT(TL_DEC_,n) #define TL_DEC_1 0 #define TL_DEC_2 1 #define TL_DEC_3 2 #define TL_DEC_4 3 #define TL_DEC_5 4 #define TL_DEC_6 5 #define TL_DEC_7 6 #define TL_DEC_8 7 #define TL_DEC_9 8 #define TL_DEC_10 9 #define TL_DEC_11 10 #define TL_DEC_12 11
测试结果:
TL_INC(9) =>10 TL_DEC(9) =>8
相关文章推荐
- Eclipse 安装反编译插件jadclipse
- java.lang.Short.parseShort(String s)方法实例
- python学习笔记二--itertools
- 开发中碰到的问题:Unparsed aapt error(s)! Check the console for output.
- LintCode 直方图最大矩形覆盖
- 浅析Java虚拟机结构与机制[转]
- C++ create_task详解
- c语言中的宏定义的学习体会
- git查看本地和创建分支、上传分支、提交代码到分支、删除分支等,git分支
- python学习2
- selenium grid2 初探
- 发布一个基于Go语言的 SSH 远程终端 WebConsole
- Python---使用SQLite
- C++ Primer 学习笔记——动态内存和智能指针(2)
- python的字符串基本操作
- C# Chat曲线图,在发布之后出现错误 Invalid temp directory in chart handler configuration c:\TempImageFiles\
- 给Java程序猿们推荐一些值得一看的好书
- MFC——4.文本编程
- 『java.util』 map接口
- PHP正则:正向/反向预搜索