我需要一個應用程序的空間映射。我找到了Boost.MultiIndex。
我跟着它tutorial並瞭解如何創建類型:Boost.MultiIndex空間操作
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'可能更適合您的需求。 – Mankarse