1
Я хотел бы сравнить, имеют ли два объекта (одного типа) одинаковые значения элементов данных. Есть ли у STL какой-либо способ сделать это?Самый простой способ сравнить данные из двух объектов одного типа
Я хотел бы сравнить, имеют ли два объекта (одного типа) одинаковые значения элементов данных. Есть ли у STL какой-либо способ сделать это?Самый простой способ сравнить данные из двух объектов одного типа
Нет, стандартная библиотека обычно использует 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);
}
};
no. если вы хотите сделать это простым, сделайте кортежи и сравните их. – stefan
Возможно, вам нужен оператор перегрузки == –