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)的运算中,通常需要定义两个大小相同而维数交换的数组:

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


优质内容筛选与推荐>>
1、[CNDN精品转载1]项目经理的工具箱---走出软件作坊:三五个人十来条枪 如何成为开发正规军
2、2018秋季第十周助教总结
3、Java final关键字修饰变量Test
4、VISO标注
5、磁盘与挂载


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn