如何将通用值设置为NULL?

时间:2013-12-05 08:04:41

标签: c++

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

2 个答案:

答案 0 :(得分:2)

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

否则您可以使用boost::Optional

答案 1 :(得分:-1)

我认为两者都有可能......但我认为如果你对整个树使用3节点结构会更好..你可以使用flag(用bool或int或任何东西)来确定它的种类(3-节点或2节点)