...感谢阅读...
我仍在学习绳索,所以请原谅... ;-)
我正在编写一个在空间中网格化实体的函数。网格是通过使用“节点”类的对象完成的,每个节点由以下形式表示:
int id
double p
double r
最初我认为映射是要走的路:使用映射我可以在“id”键和第二个键(指向节点对象的指针)之间建立关联。
像这样的东西:
int nodeId;
Node *node;
std::map<int, Node *> NodeMap;
然后,当我创建节点时,我只需调用“新”运算符。例如,在 for 循环中,我执行以下操作:
node = new Node(i); // the node constructor sets the id to the value of i.
我将新节点添加到地图中:
NodeMap[i] = node;
但是....我意识到我需要在地图中进行查找,而不是通过第一个键(id)而是通过 p 和 r 参数(节点的坐标)。
换句话说,我需要在给定 p 和 r 值的情况下返回节点 id 的东西。如果使用整数第一个键 (id) 完成查找,则映射是一个完美的容器。有人对如何解决这个特定问题有建议吗?
非常感谢!副总裁。