gpt4 book ai didi

c++ - 在 C++ 中设计 B+Tree 模板类时出现问题

转载 作者:行者123 更新时间:2023-11-28 08:26:25 24 4
gpt4 key购买 nike

我正在尝试编写 B+Tree 的通用 C++ 实现。我的问题来自于 B+Tree 中有两种节点;内部节点包含键和指向子节点的指针,叶节点包含键和值,内部节点中的指针可以指向其他内部节点或叶节点。我不知道如何使用模板来模拟这种关系(我不想使用强制转换或虚拟类)。

希望有解决我的问题的方法,或者有更好的方法在 C++ 中实现 B+Tree。

最佳答案

最简单的方法:

bool mIsInternalPointer;
union {
InternalNode<T>* mInternalNode;
LeafNode<T>* mLeafNode;
};

这可以通过使用 boost::variant 稍微简化 :)

关于c++ - 在 C++ 中设计 B+Tree 模板类时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3949329/

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