Я смотрел класс std::ratio<>
из стандарта С++ 11, который позволяет сделать рациональную арифметику времени компиляции.
Я нашел дизайн шаблона и операции, реализованные с чересчур сложными классами, и не нашел причин, по которым они не могли просто использовать более простой и интуитивно понятный подход, реализуя действительно простой рациональный класс и определяя функции constexpr
для операторов, Результат был бы более простым в использовании классом, и преимущества времени компиляции остались бы.
Кто-нибудь имеет представление о преимуществах существующего проекта std::ratio<>
по сравнению с простой реализацией класса с использованием constexpr
? На самом деле, я не могу найти никакого преимущества для текущей реализации.