相关疑难解决方法(0)

是否有c ++的非模板元语言?

我正在阅读boost :: MPL作者的c ++模板元编程书.我是精神/凤凰图书馆的忠实粉丝.

但是我很想知道.使用c ++元编程模板是一件麻烦事.它不是用于那种用途.模板和宏都不支持循环.在模板中,您基本上必须通过递归.

据我了解,c ++编译过程大致如下:

  1. 扩展/评估宏
  2. 实例化模板(代码生成)
  3. 然后实际的其他编译步骤(词法分析,解析,中间代码生成,机器独立优化,生成程序集/目标文件/链接......)

模板元编程是对第1步和第2步的攻击,20年前被错误地发现了.

使用实际语言不是更简单吗?我的意思是一些语言可以访问c ++语法树并操纵它,以及良好的文本处理能力.

我正在考虑像twig/django这样的模板语言,以及g ++ AST的相应钩子,以及type_traits和pod类型的原生定义.

这存在吗?我在网上找不到这样的东西.它可以实现与c ++模板元编程相同的结果(以及更多),但编译速度更快,代码更清晰,更易读.

c++ metaprogramming

8
推荐指数
1
解决办法
833
查看次数

标签 统计

c++ ×1

metaprogramming ×1