gpt4 book ai didi

强制转换为仅在运行时已知的类型

转载 作者:行者123 更新时间:2023-12-04 05:33:12 25 4
gpt4 key购买 nike

假设我有以下内容:

void *pA;

现在我想在运行时将此指针转换为编译时未知的类型。即什么是等效的或如何在 ANSI C 中模拟 c++ dynamic_cast ?

谢谢!

最佳答案

now I want at runtime to convert this pointer to a type that is not known at compile time. i.e. what is the equivalent or how to emulate in ANSI C a c++ dynamic_cast ?



嗯,这不是什么 dynamic_cast确实。您不能强制转换为编译时未知的类型。

如果您需要将对象强制转换为在程序执行期间可能会根据各种条件发生变化的类型,那么它可以像创建一个 switch 语句一样简单,该语句检查某些变量(和枚举值,等等)以确定要进行哪个强制转换执行。然后它可以使用已知类型。

附带说明一下,描述您的高级问题而不是如何实现您提出的解决方案(这可能有意义也可能没有意义)对您来说是有利的。您的方法可能存在替代方案,它们会比您预想的更好,但我们无法在不知道您正在尝试解决什么问题的情况下提供任何替代方案。

关于强制转换为仅在运行时已知的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12323589/

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