функция перегрузки c ++ для сравнения 2 списков - PullRequest
0 голосов
/ 10 мая 2018

Я хочу перегрузить <оператор </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, но не уверен, как его использовать.

...