2015-03-25 3 views
1

Я хотел бы сравнить, имеют ли два объекта (одного типа) одинаковые значения элементов данных. Есть ли у STL какой-либо способ сделать это?Самый простой способ сравнить данные из двух объектов одного типа

+0

no. если вы хотите сделать это простым, сделайте кортежи и сравните их. – stefan

+4

Возможно, вам нужен оператор перегрузки == –

ответ

1

Нет, стандартная библиотека обычно использует operator== для сравнения двух элементов в диапазоне. Вы можете указать собственный предикат или перегрузку operator==, но нет встроенного operator== для двух типов классов.

#include <tuple> 

struct Foo 
{ 
    int a, b, c; 

    bool operator==(const Foo& other) 
    { 
     return std::tie(a, b, c) == std::tie(other.a, other.b, other.c); 
    } 
}; 
Смежные вопросы