C ++ 1x поддерживает буквенные суффиксы (например, http://ecn.channel9.msdn.com/events/GoingNative12/GN12Cpp11Style.pdf). Я использую gcc 4.7 и хочу представить некоторые модули для нашей системы. В частности, половина нашего кода использует градусы, а другая половина радиан (из-за различных сторонних библиотек), и, очевидно, это всегда постоянная причина ошибок. Возможность сказать, например, «Радианный угол = 90 градусов;» было бы так полезно.
Я рассмотрел, как это реализовать, и это выглядит выполнимо, однако потребуется время, чтобы все сделать правильно. Поэтому мне интересно, есть ли готовая / протестированная реализация, которая уже реализует все это, что может быть использовано (не нужно, чтобы каждый разработчик C ++ реализовывал это заново, не так ли?). Помимо рад / град я ищу измерения длины (мм, см, м). Я уже гуглил, но не нашел ничего полезного.
Кто-нибудь знает реализацию, например, система СИ, которая может быть использована?
использование boost.units.
Вы получите ожидаемую выгоду: возможность безопасно работать с метриками, выраженными в разных единицах.
Синтаксис с бустами не так уж и плох:
quantity<length> dx(2.0*meter);
Других решений пока нет …