我尝试将一些std::set
用法重写为llvm::SmallPtrSet(基于小向量的快速设置实现,并为每个操作迭代向量)。几乎一切正常,但问题出在operator==
- 我可以比较两个std::set
对象,无法比较SmallPtrSet对象。
如何比较两个SmallPtrSet
?
答案 0 :(得分:0)
SmallPtrSet
的方法,如count()
,erase()
,...按内存地址比较对象,而不是通过某些重载==
运算符中定义的相等性。
如果您需要检查等于而不是是相同的,我建议您编写一个小助手来迭代这些集并检查您的等式约束。