gpt4 book ai didi

c++ - 在 C++ (Qt) 中实现内省(introspection)

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:10:50 25 4
gpt4 key购买 nike

我想知道是否有人可以为我澄清以下内容。我即将参加与 Qt 相关的测试,示例问题相当模糊。其中一个问题如下:

Qt 通过以下方式在 c++ 中实现内省(introspection):

一个。自动将每个类定义为 QObject。

定义可以在 QObject 类中调用自身的元对象。

定义与每个 QObject 关联的元对象。

我知道要进行内省(introspection),您必须继承 QObject(这也实现了信号和槽),并且使用 Q_OBJECT 宏使其可以被 MOC 替换。我觉得这可能是这些答案中的任何一个,但我希望有人能澄清一下。我认为它是 A,但我可能错了。

非常感谢任何帮助。

最佳答案

Qt 通过在 QMetaObject 中存储有关每个 QObject 派生 class(以及具有 Q_OBJECT 宏的类)的信息来实现自省(introspection) (阅读 here )。 QMetaObjectmoc 预处理器构建。

我认为您的 3 个选项中的任何一个都不正确:

  1. a 明显错误。
  2. b 作为一个句子没有意义。
  3. c 如果您在末尾添加 subclass 则正确。

还有一点信息here关于 moc

关于c++ - 在 C++ (Qt) 中实现内省(introspection),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19931082/

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