gpt4 book ai didi

c++ - 组件系统的逆向转换

转载 作者:行者123 更新时间:2023-11-28 00:54:52 24 4
gpt4 key购买 nike

我目前正在研究用 C++ 编写的基于组件的游戏引擎。所有组件都继承自一个组件基类。场景中的所有组件都被上传到一个组件 vector 中,它们可以被迭代并且 Update()可以这样调用。

我正在尝试为组件设计一个通信系统。如果我有一个名为 GetComponent<Type>() 的函数与 Unity 一样,我将能够返回一个组件,该组件在升级之前是原来的样子。

所以基本上我有一个向上转换的组件,我想反转它,让它成为它的原始类,然后通过函数返回它(就像它以前的类一样)。这可能吗?如果可能的话,组件如何知道它曾经是哪个类?

有没有我可以借鉴的这样做的例子?

最佳答案

我假设通过向上转换组件,您的意思是将指向它的指针(或引用)转换为指向基类的指针。在这种情况下,使用 dynamic_cast<Derived *>(pointer) (或 dynamic_cast<Derived &>(reference) 在运行时进行安全的向下转换。

关于c++ - 组件系统的逆向转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12051624/

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