我想在C ++程序中以一种干净有效的方式处理有理数(可能是负数),因为它们将严重使用。我的意思是,很重要。
我可以编写一个具有2个整数属性的教科书式Fraction
类,重载所有常用运算符,在构造函数中使用gcd算法技巧,以及所有这些东西。任何体面的C ++课程的常见嫌疑。
然而,我的直觉是某人,甚至可能是STL程序员,已经以比我更好,更好的方式做到了这一点。关于这个问题的任何最佳实践?
答案 0 :(得分:1)
提升理性数字是否符合您的需求?
http://www.boost.org/doc/libs/1_60_0/libs/rational/rational.html