我的遗留代码使用红黑树来存储指向同构(通常是 POD)对象的指针。 让我们称其为
MyPod
。 我的比较函数根据所需的条件比较指向两个此类对象的指针。 我想要找到的不是第二件事,而是已经在红黑树中的指针。
要使用
std::map<>
我想我必须映射std::Map<MyPod*, MyPod*>
?? 两次使用相同的指针似乎很浪费......我应该考虑另一个集合吗? 我可以制作第二个项目 void
或用单个指针替换对 <> 或使该对成为 union
或其他东西吗?
您可以使用
std::set<MyPod*>
代替 std::Map<MyPod*, MyPod*>
。