Я хочу перегрузить <оператор </p>
Это 2 списка значений, которые нужно сравнивать
Они используются, чтобы содержать число, например.2526 каждое int как элемент в списке
Так что я знаю, что мне нужно проверить каждый элемент спереди назад, чтобы увидеть, не больше ли он
Но когда я создаю итератор std::list<Digit>::iterator lhs = this->list1.begin;
Я не могу сравнить 2 итератора, немного озадачен, но я, вероятно, просто упускаю что-то очевидное в данный момент, вот как это выглядит:
цифры - это список целых чисел.
bool Integer::operator<(const Integer & rhs) const
{
std::list<Digit>::iterator lhs = this->digits.begin;
std::list<Digit>::iterator rhs = rhs.digits.begin;
if (this->digits.size() < rhs.digits.size()) //lhs smaller length
{
return true;
}
else
{
return false; //lhs larger
}
if (this->digits.begin < rhs.digits.begin) //first lhs digit lower
{
return true;
}
else if (this->digits.begin > rhs.digits.begin) //first rhs digit lower
{
return false;
}
return false;
}
Я также читал о том, что, возможно, использую std :: mismatch, но не уверен, как его использовать.