这是我的页面头部

pcc++ 预编译语言(编辑中)

pcc++预编译语言( c++ pre-compilation language ) ,是一种面向类的、存在于预编译期的解释语言。专门用来生成c++代码。
预编译期语言,大大地提高了程序的复用性,提高了运行时效率。
pc++包括宏机制和模板机制。


c++ 编译期编程工具:

template 编译器整数计算 typedefs

1  templates 更明确地是指 template speciclization(模板特化)--提供编译期间的 if 叙述。一如先前见过的length ,特化版本能够在 typelists和其它型别之间形成差异。
2 integer calculations  提供真实的数值计算能力。用以从类转化为数值。所有的编译期数值都是不可变的。一旦你为它定义了一个整数常数,例如一个枚举值,就不能再改变它。
3 typedefs 用来引进“有名类型常数( named type constants  ) 它们是定义之后就被冻结。
4 递归。对应于c++ 语言中的函数。





类型识别机制
sizeof()
继承

pcc++的继承表现通过递归来实现。代码的形式类似c++的重载。
derived to-base 类型转换通过模板偏特化来实现。


 
1 、最简单的pcc++

在矩阵转置(matrix inversion)的运算中,通常需要定义两个大小相同而维数交换的数组:

    char original[3][2];
    
char target[2][3];
一旦original维数发生变化,target的维数也需要修改。使用sizeof()可使代码表现出更好的适应性:   
    char original[3][2];
    
char target[ sizeof(a) ];
sizeof()有惊人的威力,你可以把sizeof用在任何表达式身上。sizeof()在编译直接 传回表达式结果的大小。sizeof()可以感知重载( overloading )、模板具现( template instantiation )、 转换规则( conversion rules ),或任何可发生于c++表达式身上的机制。


posted @ 2008-06-17 18:24  范晨鹏  阅读(355)  评论(0编辑  收藏  举报