Chcę użyć jednostek boost :: units dla niektórych danych SI. Jednak nasz kod głównie zajmuje się milimetrów i zamiast używaćMilimetry w boost :: jednostki
quantity<length> value = 1*milli*meter;
wolelibyśmy coś
quantity<length> value = 1*millimeter;
Jednak nie jestem pewien, jak zdefiniować „milimetr” (bez użycia #define).
Po drugie, jaki jest narzut w użyciu jednostek z prefiksem?
Aktualizacja: To musi działać bez C++ 11 funkcji (tzn bez UDL)
Ale to nie jest „prawdziwe” milimetrów, ale tylko przyrostek załączeniu. To znaczy. cała funkcjonalność boost :: units zniknęła. Na przykład. konwersja między metrem/milimetr, wiedząc, że Obszar s = 1 * milimetr * 1 * milimetr jest poprawny, ale Obszar s = 1 * 5 nie jest prawidłowy. – Frankie
Plus Potrzebuję czegoś, co nie używa UDL. – Frankie
Ale można to łatwo połączyć z jednostkami boost, zwracając liczbę zamiast podwójnego –
ooxi