等价typedef之间的Arithematic

Arithemtic between equivalent typedefs

本文关键字:Arithematic 之间 typedef 等价      更新时间:2023-10-16

我正在为我的编译器类编写一个C++编译器,对此我很好奇。等价typedefs之间的算术因此,b/c typedefs具有松散的名称等价性:

typedef int FOO;
typedef int BAR;
int test;
FOO i;
BAR j;
i = 1;
j = 2;
test = i + j; // Code clarity

这应该有效吗?typedef真的只是美化了基类型吗?还是它们级联成了一个层次结构?

是的,这会很好,但在获得structs时请考虑这种情况。

在C和C++中,typedef声明定义了类型名的别名。它没有定义新的类型。编译器必须将每个typedef(必要时递归)解析为不包含typedef名称的类型描述符。(如果这是不可能的,程序是不完善的。)

因此,FOO(1) + BAR(2)不仅工作得很好,没有隐式转换,而且定义为FOO的变量将在模板专用化中与int匹配。