gpt4 book ai didi

c++ - 大型程序使用#define 将所有 int 类型更改为另一种类型

转载 作者:搜寻专家 更新时间:2023-10-31 00:36:47 26 4
gpt4 key购买 nike

我想更改我程序中的所有 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com