1.模板
表达式模板:构造表达式对象解析表达式并存储数据(表达式的符号、数值抽象成函数)
http://blog.csdn.net/magisu/article/details/12964911(表达式模板)
模板参数:类型参数,非类型参数(变量对象初始化需要),模版参数(模板嵌套)
http://blog.csdn.net/pcliuguangtao/article/details/6449804(模板)
http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html(模板)
http://m.blog.csdn.net/blog/hongjiqin/4924893(模板特化,相当于重载特殊的类型模板)
模板实现多态:
http://blog.csdn.net/my_business/article/details/12194691(静态模板)
http://blog.sina.com.cn/s/blog_48d4cf2d0100nd3h.html(Strategy模式)
2.宏替换
#、#@、##
宏定义函数,实现字符转和变量的组合
#define a(x) #x 所有字符串整体替换
#define a(x) #@x 所有输入转换为字符串
#define a(x) i##x a(0)~a(9)遍历变量i0~i9
定义宏:#define 取消定义:#undefine(不会取消已替换的变量)
宏的作用域:整个文件,直到遇到#undef
3.flex and bison(以上两种方案,楼主起初认为可以实现,经过深入思考后,方案pass,所以在qtcreator中搭建了flex and bison尝试规避字符串转表达式过程中复杂的算法)
4.实例