Как произвольные значения с плавающей запятой сравниваются с бесконечностью?

В основном я хочу найти наименьшее (положительное) значение из набора значений и мне нужно значение по умолчанию для сравнения с первым. Наивное предположение было бы таким, что они всегда сравнивают «меньше чем» (кроме NaN, но не будем их рассматривать), но я не совсем уверен.

Я использую float , и я думаю, можно с уверенностью предположить, что мое целевое оборудование реализует бесконечное значение.

Вот пример кода:

auto leastValue = std::numeric_limits<float>::infinity();
for (auto i = something.begin(), e = something.end(); i != e; ++i)
{
  auto value = (*i)->GetValue();
  if (value < leastValue)
  {
    leastValue = value;
  }
}
6
задан mskfisher 10 May 2012 в 13:04
поделиться