gpt4 book ai didi

c++ - 如何在 C++ 中执行类型扫描?

转载 作者:太空狗 更新时间:2023-10-29 20:47:24 24 4
gpt4 key购买 nike

我有一个 ESB。任何序列化的消息都传输它自己的完全限定名(即命名空间 + 类名)。对于每条消息,我都有一个具体类型,它封装了要执行的特定逻辑。
每次我收到一条消息,我都需要先反序列化它,这样我才能执行它的操作——再一次,这取决于它的具体类型——。

我需要一种在编译时或应用程序初始化期间注册每个类的方法。
在 .net 中,我会使用反射来扫描程序集并在初始化期间发现消息类型,但是在 C++ 中你会怎么做呢?

最佳答案

C++ 没有反射能力。我想您可以尝试扫描目标文件等,但是没有可靠的方法可以做到这一点(AFAIK);编译器可能会完全消除或破坏某些东西。

基本上,对于序列化,您必须(半)手动进行注册。但是您可能对有助于完成这些杂务的序列化库感兴趣,例如 Boost Serialization .

关于c++ - 如何在 C++ 中执行类型扫描?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5789857/

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