在 C++ 中实现分数类型的最佳方法是什么?
What is the best way to implement a Fraction type in C++?
我想在 C++ 程序中以干净有效的方式处理有理数(可能是负数),因为它们将被大量 使用。我的意思是,很重。
我可以编写具有 2 个整数属性、重载所有常用运算符、在构造函数中使用 gcd 算法技巧以及所有这些东西的教科书式 Fraction
class。任何体面的 C++ 课程的常见嫌疑人。
然而,我的直觉是有人,甚至可能是 STL 程序员,已经以比我更好的方式做到了这一点。关于这个主题的任何最佳实践?
Boost 有理数是否符合您的需求?
http://www.boost.org/doc/libs/1_60_0/libs/rational/rational.html
我想在 C++ 程序中以干净有效的方式处理有理数(可能是负数),因为它们将被大量 使用。我的意思是,很重。
我可以编写具有 2 个整数属性、重载所有常用运算符、在构造函数中使用 gcd 算法技巧以及所有这些东西的教科书式 Fraction
class。任何体面的 C++ 课程的常见嫌疑人。
然而,我的直觉是有人,甚至可能是 STL 程序员,已经以比我更好的方式做到了这一点。关于这个主题的任何最佳实践?
Boost 有理数是否符合您的需求?
http://www.boost.org/doc/libs/1_60_0/libs/rational/rational.html