首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >元程序设计

元程序设计
EN

Software Engineering用户
提问于 2011-06-19 11:32:12
回答 2查看 914关注 0票数 10

作为一名C++开发人员,我刚刚开始我的旅程,最近我一直在研究一个叫做元编程的主题。到目前为止,我已经了解了很多关于这个主题的信息,也没有什么问题。

  1. 反射在c++中的使用:有可能吗?根据我的理解,反射是一种元编程技术,它具有操纵程序状态的能力,它的操作可以是内省或内省。
  2. 反射架构和元级架构有什么区别?元编程架构属于哪一类?
  3. 元编程分为两个层次:元级和基级。据我理解,被调查的对象程序或系统是基本层次,而要在被调查的系统上运行的元程序是元级。我说的对吗?

还可以通过提供一些关于在C++中使用模板元编程的指导方针来帮助我。

你能给我推荐一些可行的例子吗?我可以在这个编程技巧上找到一些有用的例子吗?

EN

回答 2

Software Engineering用户

发布于 2011-06-19 13:38:12

元编程仅仅意味着您可以编写编写其他代码的代码(广义上)。C++通过模板机制做到这一点,模板机制基本上是一种类型安全的宏语言.完全有可能只应用模板扩展步骤,结果将是有效的无模板C++代码。

反射是编程语言和/或运行时环境在运行时检查(并经常修改)自己的语言元素的能力。通常,反射语言提供表示语言元素(如类、方法、变量、参数等)的数据结构,以及检查、修改和创建它们的例程或类。修改功能使反射成为一种元编程类型,因为它允许您编写生成其他代码的代码。

元编程的其他例子包括代码生成器、自修改二进制文件(尽管这些二进制文件已经不再像20年前那样流行了)、C宏;人们可以说,并发和类似的函数编程技术也是一种元编程。

票数 10
EN

Software Engineering用户

发布于 2011-06-19 11:43:58

  1. 不是的。C++程序被编译成机器代码,所有关于类等的信息都丢失了(除非在.NET环境中使用C++/CLI,但这不是纯C++)。

2-3。我不知道-等待另一个有帮助的答案:-)

使用C++模板进行元编程是非常强大的,但也很复杂。模板扩展需要函数式编程,而不是C++使用的命令式编程。如果你以前没有函数式编程的经验,我会建议你绕道学习基本的lisp,haskell或方案。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/85290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档