gpt4 book ai didi

c++ - 我可以在 C++ 中有一个 "type of types"吗?

转载 作者:行者123 更新时间:2023-12-01 14:19:58 25 4
gpt4 key购买 nike

我对 C++ 很陌生,但我一直在尝试在锁定期间使我的技能组合多样化。
我正在尝试使用 SFML 编写基于节点的声音处理工具。我想要一个结构来包含我所有节点的输入和输出。但是,我显然无法将任何类型连接在一起。我希望做一些类似于 Blender 对其节点类型所做的事情。
以下屏幕录制显示了我的意思:绿色输出类型与其他输入类型不兼容。
This screen recording
我以为是struct NodeInOut可能是解决这个问题的一个有用的方法:每当我创建一个新节点时,我都会分配一个类型,并且在将节点连接在一起的逻辑中,我确保不兼容的类型不可连接。但是,每当我创建一个新的 Node 定义时,我都需要传入一个类型。
我对 Node 类的想法是它的结构有点像这个匆忙制作的图表。
this hastily made diagram
有没有人知道如何做到这一点,或者如何以不同的方式构建它以使这不是问题?
除了 SFML 样板文件之外,我还没有编写任何代码。

最佳答案

是的,您可以拥有“类型类型”。
但是,请注意用户在运行时连接节点。因此,这是一个运行时问题,而不是您可以在编译时解决的问题。
换句话说,只需使用包含节点接受/发送的任何类型的运行时值,并根据需要比较它们。

关于c++ - 我可以在 C++ 中有一个 "type of types"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63655564/

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