C++ 中的反射

2023-12-28

我已经使用 Java 工作多年了。在那些年里,我广泛(或者可能只是频繁)使用反射,并发现它有用且令人愉快。但8个月前我换了工作,现在Java只是一个记忆,我开始接触C++。所以现在我想知道C++中是否有反射机制。我读过有关 RTTI 的内容,但我觉得它绝不是 Java(或其他语言)反射的力量。我开始认为在 C++ 中没有办法做到这一点。我错了吗?


由于 C++ 标准不涵盖“元数据”这样的概念,因此除了您已经提到的 RTTI 之外,没有可移植的(就此而言,跨不同编译器和平台)运行时反射方法。

在 C++ 中,还存在编译时反射的可能性(想想boost::type_traits and boost::type_of),但与 Nemerle 或 LISP 相比,它也有局限性。

大多数主要框架(MFC、Qt 等)允许您在运行时提取元信息,但它们需要各种特殊注释才能工作(请参阅运行时_类 http://msdn.microsoft.com/en-us/library/a3tc49sy(VS.80).aspx等人为例)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 中的反射 的相关文章

随机推荐

  • 使用 SingleThreadExecutor 在任务之间等待

    我试图 简单地 创建一个阻塞线程队列 当提交任务时 该方法将等待直到其完成执行 但最困难的部分是等待 这是我的 12 30 AM 代码 我认为它有点过分了 public void sendMsg final BotMessage msg t
  • GWT 日期时间组件

    是否有 GWT 日期时间组件 注意 我已经在使用日期 日历组件 我想有时间作为额外的投入 你的意思是你使用GWT日期选择器 http google web toolkit googlecode com svn javadoc 2 0 com
  • java中带有自定义对象的列表的深拷贝

    我有一个包含自定义对象的列表 我想创建该列表的深层副本 这是自定义对象的类 public class MyMemo private List
  • 将 110 美元以下的小计设置为“零税” - Woocommerce

    我正在尝试设置no tax for 订单金额低于 110 美元 我碰到了这个线程根据 Woocommerce 中的购物车商品价格有条件地设置不同的税率 https stackoverflow com questions 44950932 s
  • 为什么在 Windows 10 上 npm 前缀始终设置为 system32?

    我刚刚在 Windows 10 上安装了 Node v4 4 7 但遇到了一个问题npm当我运行时找不到 package json 文件npm install在正确的目录中 我得到的错误是ENOENT no such file or dir
  • UIWebView - 加载带有链接资源的本地 .html 文件

    我不知道已经看了多少个论坛 但我真的不知道为什么不起作用 我有一个 iPhone 应用程序 我想向我的用户展示一本 Epub 书籍 用户可以在线阅读 也可以下载到Application Documents目录后阅读 我构建了与在线版本相同的
  • 如何使用另一个表单正确监听表单事件

    陷入另一种形式的监听事件 当我尝试关闭 Form2 时 Form1 上没有任何反应 我想在 Form2 关闭时在 Form1 中执行某些操作 这是我的 Form1 代码 public partial class Form1 Form pub
  • 删除月份形式的前导零 C#

    我无法从我在 Microsoft 网站上找到的日期中删除前导零 DateTime date1 new DateTime 2008 8 18 Console WriteLine date1 ToString M MMM MMMM Cultur
  • 如何在asp.net c# 中的网页中包含页眉、页脚、侧边栏?

    我刚加入asp net 我有点困惑如何向网页添加页眉 页脚 我使用的是 Visual Studio 2012 我们在 PHP 中使用 include require 预定义函数 我不知道我们在 ASP NET 中使用什么来实现网站的不可更改
  • 获取未压缩 gzip 文件的大小,同时可从服务器获取压缩文件的大小

    我在用GZIPInputStream下载 PDF 文件 我想在 UI 按钮上显示文件的下载进度 但是 我没有得到文件的实际大小 我得到的是压缩大小 因此我无法显示正确的下载进度 此下载进度已超过100因为实际文件大小大于文件的压缩大小 来自
  • 从 csproj 引用 xproj

    我添加了来自的参考csproj to xproj在视觉工作室 我看到引用中的库和 dll 的路径是正确的 Intelisens 可以工作 但编译无法工作 并出现错误 the type could not be found 我该如何实施这个
  • 在简单的 AWS 用户策略中指定单个存储桶时出现问题

    我正在使用 AWS IAM STS 通过 boto 创建用于访问 S3 存储桶的凭证 我不知道以下政策有什么问题 我已经尽可能简化了我的政策 但仍然得到了意想不到的结果 当我获取用户的令牌时 我附加以下策略 user policy stri
  • 更改 Bootstrap nav-pills 的高度

    这个话题 https stackoverflow com questions 19698925 how to set height and border of bootstrap tabs与我正在寻找的非常接近 但几个小时后仍然无助于实现目
  • Netbeans 中的 C++ 控制台输出

    当我在 Mac 上的 Netbeans 中运行 C 程序时cout or printf语句的输出显示在使用 X11 打开的终端中 Netbeans 中是否内置了控制台 如果是 我该如何更改输出 谢谢 斯宾塞 在 项目属性 gt 运行 gt
  • 没有这样的模块“FBSDKLoginKit”Xcode 9

    使用 CocoaPods 我导入了以下框架 platform ios 11 0 use frameworks target APP NAME do pod Firebase pod Firebase Auth pod Firebase Co
  • 如何聚合 T 的多个 IEnumerables

    鉴于 Public MasterList as IEnumerable Of MasterItem Public Class MasterItem Of T Public SubItems as IEnumerable Of T End C
  • VS2010、代码分析和 SuppressMessage 中的 FxCop 行为

    我有一堂这样的课 System Diagnostics CodeAnalysis SuppressMessage Microsoft Naming CA1709 IdentifiersShouldBeCasedCorrectly Messa
  • 从 ion-tab-bar ionic 4 中删除白色背景

    在我的 Ionic 4 项目中 我有选项卡式界面 其中有 4 个选项卡 我尝试自定义ion tab通过添加一些自定义CSSion tab bar像这样制作圆角 我使用以下代码来实现此设计 ion tab bar border top lef
  • 如何编写一个 O(n^2) 方法来查找两点之间的最大距离

    我有一个数组int nums 5 1 6 10 4 7 3 9 2 我想在 O n 2 时间内找到该数组中最小和最大数字之间的距离 根据作业的要求 它需要 O n 2 时间 为此 我正在编写一个名为的方法quadratic 到目前为止 我已
  • C++ 中的反射

    我已经使用 Java 工作多年了 在那些年里 我广泛 或者可能只是频繁 使用反射 并发现它有用且令人愉快 但8个月前我换了工作 现在Java只是一个记忆 我开始接触C 所以现在我想知道C 中是否有反射机制 我读过有关 RTTI 的内容 但我