【发布时间】:2011-09-03 03:57:58
【问题描述】:
我需要一个应用程序的空间地图。我找到了 Boost.MultiIndex。
我关注了它的tutorial 并了解了如何创建类型:
typedef boost::multi_index_container<MapNode,
indexed_by<
ordered_non_unique<member<MapNode, int, &MapNode::X>>,
ordered_non_unique<member<MapNode, int, &MapNode::Y>>
>
> Map_T;
以及如何插入:
Map.insert(Node);
如何根据x 和y 坐标检索值?以及如何检查那里是否有值?
【问题讨论】:
-
Boost.MultiIndex可能不是合适的容器。使用Boost.MultiIndex,您可以获得按x排序的节点或按y排序的节点的视图,但是您无法在特定的x和y处找到节点(没有通过其中一个进行线性搜索)意见)。Boost.MultiArray可能更适合您的需求。
标签: c++ boost boost-multi-index