Relz / OOP

Лабораторные работы по Объектно-ориентированному программированию (IDE - Visual Studio 2015)
0 stars 0 forks source link

Замечания по FindMaxEx #12

Open alexey-malov opened 7 years ago

alexey-malov commented 7 years ago
alexey-malov commented 7 years ago

template <class T, class Less>
bool FindMax(std::vector<T> const& arr, T & maxValue, Less const& less)
{
    if (arr.empty())
    {
        return false;
    }
    maxValue = arr[0];
    for (T const& element : arr)
    {
        if (less(maxValue, element))
        {
            maxValue = element;
        }
    }
    return true;
}```

- [ ] Если оператор присваивания выбросит исключение, то maxValue будет содержать не свое оригинальное значение, а последний наилучший результат. Обеспечить строгую гарантию безопасности исключений

- [ ] Сделать возможность вызова FindMaxEx с двумя параметрами (без указания объекта, сравнивающего значения). В этом случае должно использовать сравнение при помощи оператора <
alexey-malov commented 7 years ago
void AreEquals(Athlete const& lhs, Athlete const& rhs)
{
    BOOST_CHECK_EQUAL(lhs.fullName, rhs.fullName);
    BOOST_CHECK_EQUAL(lhs.height, rhs.height);
    BOOST_CHECK_EQUAL(lhs.weight, rhs.weight);
}
alexey-malov commented 7 years ago