C++自动化(模板元)编程基础与应用(1)
#if 0
大家好,在这一类的文章中将会系统的介绍模板元编程的相关基础知识。最主要的是
这类文章的目的就是让不熟悉模板元的C++迷们尽快的进入到模板元的奇妙世界里面来,所
以每一篇文章都将只会讨论一个话题,尽可能的把这个话题说清楚明白就可以了。
好了,言归正传。大家都知道C++是一们计算机语言,这一点也没错,但是你知道C++
里面还包含了另外一种子语言么?呵呵,恐怕知道的人就不多了,会用的人就更少了。但
是既然经过了这么多年的发展,C++语言里面出现了这种子语言(模板)自然有它的根源的
,这一点并不是本文中将要讨论的,如果想了解C++的发展例程,可以参见相关的文献。
在本文中将要说明的问题是:为什么说C++模板是一种语言呢?
为了回答这个问题,首先需要考虑一下什么是计算机语言,关于这个精确的定义,很
多的计算机基础教程上都有,在这里我给出一种比较窄的定义:
能够在计算机上表达选择结构,循环结构,同时能够进行进行整数的四则运算的体系就是一种计算机语言。
很显然,C++自然是一种计算机语言了,还有Basic,Fortran,Pascal等等都是计算机语言。之所以讨论这么多的概念问题是为了说明:如何证明C++的模板语法是一种计算机语言。又因为模板是C++语言的一个元素,所以又可以将C++模板语法称为C++的二级语言或者子语言。在本文中将会通过使用模板分别实现整数四则运算,选择结构以及循环结构来证明C++模板语法构成了一个完整的计算机语言。
另外特别值得注意的是,因为C++的模板语言是在编译器编译的时候完成的,所以又称为静态语言,通常的C++语言又称为动态语言或者运行时语言。正是因为模板语言是在编译期完成的,所以我们可以借助于这种编译期的计算实现代码自动生成的目的,从而实现C++自动化编程。这是后续的文章中会详细讨论的。
首先看看,模板是如何完成编译期四则计算的。
[2] [3] 下一页
- 最新评论