比较矢量矢量

时间:2012-10-13 15:26:39

标签: c++ performance vector comparison

我有一个存储指针的向量向量。目前我迭代它们并比较每个指针,如果我找到不相等的那些,那么矢量也不相等,但我想知道这是否是正确的方法来做这样的事情。

UPD:std::vector<std::vector<Combination*> > combinations;

1 个答案:

答案 0 :(得分:3)

如果您正在比较指针本身,那么您可以在整个矢量(矢量)上使用operator==。它的作用是首先检查两个向量的大小是否相等。如果是,则随后使用operator==比较每个元素。因此,如果您有矢量矢量或矢量矢量矢量,则可以递归地工作。虽然它不是技术上的递归,但因为每个operator==实际上是一个不同的函数。

如果您要取消引用指针,那么您的方式就可以了。但是对于这种情况,您可以考虑将std::equal与适当的谓词一起使用。