我在get_mpz_t()
类型上经常打电话给mpz_class
。我不是很明白这一点。我已经将documentation涂成红色,并且据我所知,仅因为某些功能需要mpz_t
而不是mpz_class
才需要?
要复制文档中给出的示例,我发现我经常在这种情况下调用它,但具有各种功能:
mpz_class a, b, c;
...
mpz_gcd (a.get_mpz_t(), b.get_mpz_t(), c.get_mpz_t());
如果唯一的区别是语法,可以省略还是自动将其省略,因此我不必键入太多?我比C更熟悉C ++。
答案 0 :(得分:2)
为什么不编写自己的包装函数?
inline void mpz_gcd(mpz_class& a, const mpz_class& b, const mpz_class& c)
{
mpz_gcd(a.get_mpz_t(), b.get_mpz_t(), c.get_mpz_t());
}
鉴于这是C ++,您甚至可以给包装函数起相同的名称。