将所有 int 类型更改为另一种类型,使用 #define 用于大型程序
Change all the int type to another type using #define for large program
我想更改程序中的所有int
类型以支持任意位置整数。我选择使用GMP
.
我正在考虑是否有可能做一个#define
来替换所有int
mpz_class
.
我从一个小程序开始
#include <iostream>
#define int long long int
using namespace std;
int main(){
// .... code
}
编译器已经在抱怨main
必须返回int
类型。
是否可以为#define
添加例外? 或者这是一个非常糟糕的主意?
如果包含任何标准标头,则禁止重新定义关键字。在这里,您包含了<iostream>
因此您的程序格式不正确。
否则,把自己打晕!等等,不,不要,因为这仍然很愚蠢。
相反,重构你的代码以使用一些叫做my_integer
的新类型(但名称要好得多):
typedef int my_integer;
然后,当你想从int
更改为mpz_class
时,你只需更改my_integer
的定义:
typedef mpz_class my_integer;
像这样使用不带 int 的 main:
#include <iostream>
#define int long long int
using namespace std;
main(){
// .... code
}
简单的答案:尽管技术上可行,但不允许#define
任何保留标识符。
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 防止主数据类型C++的隐式转换
- 大量序列中核苷酸类型的快速计数
- 如何从C++中的依赖类型中获得它所依赖的类型
- 初始化在类类型 #define 中定义的非静态成员数组,不带默认 ctor
- 函数返回类型之前的"define"
- 如何在C++中根据函数模板类型应用不同的 #define?
- 使用#Define和Typedef与数据类型A一起使用
- 该文件中的代码类型*.cpp #define mdTyVzgFy4_0UFy9GimmM
- 将所有 int 类型更改为另一种类型,使用 #define 用于大型程序
- C/C++中的"#define AP_MODULE_DECLARE(类型)类型"
- 在 #define 中使用模板参数类型
- 定义类型的正确方式(typedef与#define)
- #define 和创建普通类型有什么区别
- 一元 '*' 的 #define 和无效类型参数(具有 'double')
- 根据编译时常量,使用相同的标识符 #define 或类型定义是否被认为是可接受的做法?
- Klocwork(或其他工具)能知道类型、typedefs和#define指令吗
- 添加新运算符或类型时 #define 不是可识别的运算符或类型
- 有什么理由在dll中定义类型吗?比如#define MODULE_NAME_INT8 __int8
- #define 字符串的类型是什么?