gpt4 book ai didi

c++ - 如何在 C++ 中将类类型映射到该类的实例?

转载 作者:行者123 更新时间:2023-11-30 03:04:29 25 4
gpt4 key购买 nike

我希望有一个从类到每个类实例的映射。目标是为基于组件的游戏引擎提供一个组件容器,其中一个对象最多可以具有每种组件类型中的一个。

在 Java 中,我可以只使用类对象作为键。我怎样才能在 C++ 中做类似的事情?我最初的研究建议使用 typeid(component_instance).name() 作为键。有更好的方法吗?

最佳答案

与 Python 或 Java 等更动态的语言不同,C++ 中的类本身不是对象。在运行时它们根本不存在(从程序员的角度来看)。

您的 typeid 方法并没有那么糟糕,但是对于性能问题,我会使用散列或数字 ID(例如在您的类中定义为静态的整数)而不是字符串。

关于c++ - 如何在 C++ 中将类类型映射到该类的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8562994/

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