元编程 (meta-programming)】的更多相关文章

前言:毕设时在开源库上做的程序,但是源码看得很晕(当时导师告诉我这是模板元编程,可以不用太在乎),最近自己造轮子时想学习STL的源码,但也是一样的感觉,大致了解他这么做要干什么,但是不知道里面的机制.于是开始学习<C++模板元编程>,看完第二章对一些东西豁然开朗. PS:该书也有点老了,C++11标准还没出来,主要用的Boost库. Traits(特征) 说正题,在STL中经常可以见到后缀为traits的名字,比如经常用到的std::string,本质是类模板basic_string的第一个参…
atitit.元编程总结 o99.doc 1. 元编程(Metaprogramming) 1 2. 元编程的历史and发展 1 3. 元类型and元数据 1 4. 元编程实现方式 2 4.1. 代码生成 2 4.2. lex和yacc分析器 2 4.3. 泛型编程 2 4.4. 注解 2 4.5. 解释型框架 2 4.6. 对象工厂概念,一个会写程序的程序! 3 4.7. Aop 3 4.8. 数据对象触发器和 可配置的插入式服务 3 5. 应用场景 4 6. 参考 4 1. 元编程(Meta …
meta programming: 编写能改变语言语法特性或者运行时特性的程序 Meta- 这个前缀在希腊语中的本意是「在…后,越过…的」,类似于拉丁语的 post-,比如 metaphysics 就是「在物理学之后」,这个词 最开始指一些亚里士多德的著作,因为它们通常排序在<物理学>之后. 但西方哲学界在几千年中渐渐赋予该词缀一种全新的意义:关于某事自身的某事.比如 meta-knowledge 就是「关于知识本身的知识」, meta-data 就是「关于数据的数据」,meta-langua…
https://blog.csdn.net/K346K346/article/details/82748163 https://www.jianshu.com/p/b56d59f77d53 https://www.cnblogs.com/my_life/articles/10132060.html 元编程侧重点在于「用代码生成代码」,泛型编程侧重点在于「减小代码对特定数据类型的依赖」. 1.概述 模板元编程(Template Meta programming,TMP)是编写生成或操纵程序的程序,…
元编程 (meta-programming) 术语 meta:英语前缀词根,来源于希腊文.中国大陆一般翻译成"元". 在逻辑学中,可以理解为:关于X的更高层次,同时,这个更高层次的范围仍然在X的范围之内. meta-data meta-function meta-bank meta-verse meta-programming 因何而生 诞生必然性:需要非常灵活的代码来适应快速变化的需求,同时保证性能. 定义 元编程 (meta-programming) 通过操作 程序实体 (prog…
实验平台:Win7,VS2013 Community,GCC 4.8.3(在线版) 所谓元编程就是编写直接生成或操纵程序的程序,C++ 模板给 C++ 语言提供了元编程的能力,模板使 C++ 编程变得异常灵活,能实现很多高级动态语言才有的特性(语法上可能比较丑陋,一些历史原因见下文).普通用户对 C++ 模板的使用可能不是很频繁,大致限于泛型编程,但一些系统级的代码,尤其是对通用性.性能要求极高的基础库(如 STL.Boost)几乎不可避免的都大量地使用 C++ 模板,一个稍有规模的大量使用模板…
1. TMP是什么? 模板元编程(template metaprogramming TMP)是实现基于模板的C++程序的过程,它能够在编译期执行.你可以想一想:一个模板元程序是用C++实现的并且可以在C++编译器内部运行的一个程序,它的输出——从模板中实例化出来的C++源码片段——会像往常一样被编译. 2. 使用TMP的优势 如果这没有冲击到你,是因为你没有足够尽力去想. C++不是为了模板元编程而设计的,但是自从TMP早在1990年被发现之后,它就被证明是非常有用的,为了使TMP的使用更加容易…
目录 1 C++ 中的元编程 1.1 什么是元编程 1.2 元编程在 C++ 中的位置 1.3 C++ 元编程的历史 2 元编程的语言支持 2.1 C++ 中的模板类型 2.2 C++ 中的模板参数 2.3 模板的重载和绑定 -- 特化和实例化 3 元编程的基本演算 3.1 编译时测试 3.1.1 测试表达式 3.1.2 测试类型 3.1.3 使用 if 进行编译时测试 3.2 编译时迭代 3.2.1 定长模板的迭代 3.2.2 变长模板的迭代 4 元编程的基本应用 4.1 数值计算 4.2 类…
1. TMP是什么? 模板元编程(template metaprogramming TMP)是实现基于模板的C++程序的过程,它能够在编译期执行.你可以想一想:一个模板元程序是用C++实现的并且可以在C++编译器内部运行的一个程序,它的输出——从模板中实例化出来的C++源码片段——会像往常一样被编译. 2. 使用TMP的优势 如果这没有冲击到你,是因为你没有足够尽力去想. C++不是为了模板元编程而设计的,但是自从TMP早在1990年被发现之后,它就被证明是非常有用的,为了使TMP的使用更加容易…
上接语言基础,就release-1.1来看,个人感觉这门语言和自己心中的理想国相距较远.这门语言因为受众不仅仅是程序员有很多让人迷惑的设计,但是奇怪的是它的语法等表象设计虽然暗示这不是专门为程序员准备的,内在的却提供了大量非程序员不可用的高级特性,库. 乘着热情还在,我挑一些有趣的东西再写写. 元编程 元编程即对代码进行处理的代码,可以使用Meta.parse()解析出参数代码的类AST表示,也可以使用quote ... end简化: julia> multiStmt = Meta.parse(…