Open alexey-malov opened 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 с двумя параметрами (без указания объекта, сравнивающего значения). В этом случае должно использовать сравнение при помощи оператора <
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);
}
[ ] AreEquals - ошибка в названии.
[ ] Имя не подходящее. Предикативные имена функций используются в том случае, когда функция возращает bool