如何将泛型值设置为NULL

How to set a generic value to NULL?

本文关键字:设置 NULL 泛型      更新时间:2023-10-16

我正在做一个2-3树类,我的BNode类是一个泛型类,所以它可以存储任何类型的数据。因此,我遇到了这种情况:我有一个3节点(有2个值和3个子指针),理论上我必须将该3节点分解为2个2节点,每个节点只能有一个值和2个子指针。问题来了,在编程中,你是否必须创建2个新节点,每个节点将保存3个节点的每个值?或者,您可以只创建一个新节点,并通过将第二个值设置为NULL来重用3节点吗?如果可以,如何将NULL设置为它,请考虑您所拥有的值是一个通用值。非常感谢。

那么你的2节点和3节点是不同的类型?在这种情况下,我肯定会创建2个新的2节点。

否则,您可以使用boost::可选

我认为两者都有可能。。。但我认为如果你对整棵树使用3节点结构会更好。。您可以使用flag(带bool或int或任何东西)来确定其类型(3节点或2节点)