为什么我不能在 GMP 中将向量与 mpz_t 一起使用?
Why can't I use vector with mpz_t in GMP?
我不知道为什么这个程序会出错,因为它很简单;但是,如果我不能在 GMP 中使用 vector
,任务将非常困难。
这是我的代码:
vector<mpz_t> elements;
cout << elements.size() << endl;
mpz_t a;
mpz_init(a);
elements.push_back(a);
这很好用,但不如 vector
:
有用
// mpz_t b[10];
// for (int i = 0; i < 10; i++){
// mpz_init(b[i]);
// }
mpz_t
是一个 typedef
到数组类型。在 C++ 中,我建议将 mpz_t
封装在您自己的 class 中,而不是 mpz_t
的向量(这也将允许管理内存)或使用指向 mpz_t
.
至于第一个选项,it already exists中的mpz_class
.
why i can't use vector with mpz_t in gmp?
mpz_t
是数组类型的 typedef。 (来自this question的回答):数组不可复制构造且不可赋值,所以你不能做std::vector<int[1]>
.
我不知道为什么这个程序会出错,因为它很简单;但是,如果我不能在 GMP 中使用 vector
,任务将非常困难。
这是我的代码:
vector<mpz_t> elements;
cout << elements.size() << endl;
mpz_t a;
mpz_init(a);
elements.push_back(a);
这很好用,但不如 vector
:
// mpz_t b[10];
// for (int i = 0; i < 10; i++){
// mpz_init(b[i]);
// }
mpz_t
是一个 typedef
到数组类型。在 C++ 中,我建议将 mpz_t
封装在您自己的 class 中,而不是 mpz_t
的向量(这也将允许管理内存)或使用指向 mpz_t
.
至于第一个选项,it already exists中的mpz_class
.
why i can't use vector with mpz_t in gmp?
mpz_t
是数组类型的 typedef。 (来自this question的回答):数组不可复制构造且不可赋值,所以你不能做std::vector<int[1]>
.