gpt4 book ai didi

java - C++ 中的反射

转载 作者:IT老高 更新时间:2023-10-28 23:10:31 26 4
gpt4 key购买 nike

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

最佳答案

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

在 C++ 中,也有编译时反射的可能性(想想 boost::type_traitsboost::type_of),但与以下相比,它也很有限,比如说 Nemerle 或 LISP。

大多数主要框架(MFC、Qt 等)都允许您在运行时提取元信息,但它们需要各种特殊注释才能工作(参见 RUNTIME_CLASS 等人作为示例)。

关于java - C++ 中的反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/851323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com