我想更改程序中的所有 int
类型以支持任意位置整数。我选择使用 GMP
。
我正在考虑是否可以使用#define
将所有int
替换为mpz_class
。
我从一个小程序开始
#include <iostream>
#define int long long int
using namespace std;
int main(){
// .... code
}
编译器已经提示 main
必须返回 int
类型。
是否可以向#define
添加异常?或者这样做真的很糟糕?
最佳答案
<强> Redefining a keyword is prohibited iff you include any standard headers .在这里,您包括了<iostream>
所以你的程序格式不正确。
否则,你就被淘汰了!等等,不,不要,因为这仍然很愚蠢。
相反,重构您的代码以使用某种名为 my_integer
的新类型。 (但有一个更好的名字):
typedef int my_integer;
然后,当您想从 int
更改时至mpz_class
,您只需更改 my_integer
的定义即可:
typedef mpz_class my_integer;
关于c++ - 对于大型程序,使用 #define 将所有 int 类型更改为另一种类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20942634/