首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中设计B+Tree模板类时出现的问题

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

Stack Overflow用户
提问于 2010-10-16 22:42:17
回答 1查看 637关注 0票数 0

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-17 00:39:23

最简单的方法:

代码语言:javascript
复制
bool mIsInternalPointer;
union {
  InternalNode<T>* mInternalNode;
  LeafNode<T>* mLeafNode;
};

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3949329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档