0

我需要mpf_class从 MPIR 库封装到我的类中A

class A
{           
    mpf_class a;    // default constructor - default precision
public:
    A(){                
        a = mpf_class(0,my_precision); // initialize a with zero, but it remains with default precision 
        mpf_class b = mpf_class(0,my_precision); // initialize local b with zero with my_precision
    }
};

但是在构造函数中我不能a用初始化my_precision,因为operator=不会改变目标的精度。

我创立的唯一方法是将默认精度更改为my_precision在创建对象之前A,例如

mpf_set_default_prec(my_precision);
A my_class;

这有效,但这是一个非常糟糕的解决方案。那么,如何创建a具有所需精度的字段?

4

1 回答 1

0

只需使用成员初始化列表来初始化a

A() : a(0, my_precision)
{ }

这避免了a.

于 2013-04-14T21:32:07.823 回答