等效typedef之间的算术

时间:2014-10-14 02:02:32

标签: c++ compiler-construction typedef

我正在为我的编译器类编写一个C ++编译器,我想知道这一点。 等价typedef之间的算术因此,b / c typedef具有松散的名称等价:

typedef int FOO;
typedef int BAR;

int test;
FOO i;
BAR j;

i = 1;
j = 2;
test = i + j; // Code clarity

这应该有用吗? typedef真的只是美化基类型还是级联成层次结构?

2 个答案:

答案 0 :(得分:2)

是的,这样可以正常工作,但是当你得到结构时要考虑这个案例。

答案 1 :(得分:1)

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

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